Crea il tuo sistema di aggiornamento automatico dei file
Ogni amministratore di server ha una serie di programmi di utilità che preferiscono utilizzare. In genere, questi strumenti sono conservati su ogni macchina per garantire la disponibilità e possono provenire da una varietà di fonti come Sysinternals e Nirsoft.
Per mantenere questi strumenti aggiornati alle ultime versioni, l'aggiornamento manuale può essere piuttosto noioso e dispendioso in termini di tempo, soprattutto quando nel mix sono presenti più server. Quindi abbiamo una soluzione per te: una soluzione semplice da configurare dove mantieni un unico set di strumenti e tutte le tue macchine sincronizzano le versioni dei loro strumenti in questa posizione.
Ad esempio, supponiamo di mantenere i sistemi su 3 reti separate e di avere lo stesso set di 10 strumenti disponibili su tutte queste macchine per script e manutenzione. Avresti una cartella principale di strumenti (disponibile tramite un sito Web) in cui mantieni le versioni di rilascio che desideri distribuire a tutti i tuoi sistemi. Tutti gli altri sistemi, quindi, "telefonano a casa" in questa cartella principale e scaricano la rispettiva versione localmente. Questo processo fornisce una soluzione automatizzata per accertarsi sempre che le versioni dell'utilità siano coerenti su tutti i sistemi.
Impostazione dell'ambiente
L'ambiente per farlo funzionare è abbastanza facile da configurare e, una volta fatto, è davvero una soluzione "imposta e dimentica".
- Creare una cartella all'interno di un sito Web a cui si ha accesso che fungerà da server come cartella principale (ad es. ToolFolder).
- Carica tutte le tue utilità comuni in questa cartella.
- Sui server che si desidera sincronizzare con il sito master, posizionare lo script in basso nella cartella locale che contiene gli strumenti (e WGet se non lo si possiede già).
- Aggiorna l'URL nella tua cartella principale (ad esempio http://my.site.com/ToolsFolder).
- Pianificare l'esecuzione periodica dello script e sincronizzare tutti gli strumenti locali esistenti sul sito principale.
Usi alternativi
Mentre abbiamo coperto un utilizzo pratico che un amministratore di sistema può avere per questo tipo di script, ci sono molte altre situazioni in cui questo script può tornare utile:
- Utilizzare per aggiornare le utilità Sysinternals e Nirsoft su macchine locali (gli URL sono inclusi nello script).
- Utilizzare su un sistema desktop per mantenere un insieme di documenti sincronizzati con una copia master.
Lo script supporta sia l'hardcoding di un URL sia quello che ne fornisce uno dalla riga di comando (ad esempio UpdateFromWeb http://source.site.com/Stuff.zip), quindi utilizza la tua immaginazione.
Il copione
@ECHO OFF TITLE Aggiornamento da Web ECHO Aggiornamento da Web ECHO Scritto da: Jason Faulkner ECHO SysadminGeek.com ECHO. ECO. SETLOCAL EnableExtensions REM Inserire questo script nella cartella che contiene le utilità da aggiornare. REM Richiede che WGet si trovi nella stessa cartella di questo script o in una posizione impostata nella variabile PATH. URL REM per cercare gli aggiornamenti nell'evento nessuno è specificato come parametro. URL REM di interesse --- REM Sysinternals: http://live.sysinternals.com/tools REM NirSoft: http://www.nirsoft.net/panel SET URL = http: //my.site.com/ToolsFolder REM Se viene specificato un parametro, utilizzarlo come URL. IF NOT % 1 == SET URL =% ~ 1 REM Impostare questo valore su 1 per riavviare le attività che vengono interrotte durante il processo di aggiornamento. SET RestartKilledTasks = 0 ECHO Directory rilevata:% ~ dp0% ~ d0 CD% ~ p0 ECHO. ECO. SET NewFile = .NEW FOR / F %% A IN ('DIR / B') DO WGet --output-document = "%% A% NewFile%" "% URL% / %% A" REM Elimina vuoto (non trovato ) File. FORFILI / P. / C "CMD / C IF @ fsize == 0 DEL / F / Q @path" SET StartWhenFinished = "% TEMP% StartWhenFinished.tmp.txt" ECHO; Strumenti terminati>% StartWhenFinished% FOR / F %% A IN (' DIR / B ') DO (SE ESISTA "%% A% NewFile%" (ECHO Trovato nuova versione di: %% A REM Se il file è in esecuzione, uccidilo in modo che possa essere sostituito FOR / F %% B IN ( 'TASKLIST') DO (IF / I [%% A] == [%% B] (ECHO %% B è attualmente in esecuzione, processo di eliminazione ECHO %% A >>% StartWhenFinished% TASKKILL / IM "%% B" / T / F)) REM Sostituisci con la nuova versione DEL / F / Q "%% A" RENAME "%% A% NewFile%" "%% A")) IF % RestartKilledTasks% == 1 (ECHO ECHO Ripresa delle attività uccise FOR / F "usebackq skip = 1" %% A IN (% StartWhenFinished%) DO (ECHO Starting %% A START "Restarting %% A" "%% A")) IF EXIST "% StartWhenFinished% "DEL"% StartWhenFinished% "ENDLOCAL
link
Scarica UpdateFromWeb Script da SysadminGeek.com
Scarica WGet