If-Koubou

Construiți propriul sistem automat de actualizare a fișierelor

Construiți propriul sistem automat de actualizare a fișierelor (Cum să)

Fiecare administrator de servere are un set de programe de utilitate pe care le folosesc. În mod tipic, aceste instrumente sunt păstrate pe fiecare mașină pentru a asigura disponibilitatea și pot proveni dintr-o varietate de surse, cum ar fi Sysinternals și Nirsoft.

Pentru a menține aceste instrumente actualizate la cele mai recente versiuni, actualizarea manuală poate fi destul de obositoare și de consumatoare de timp, mai ales atunci când există mai multe servere în mix. Așadar, avem o soluție pentru dvs.: o soluție de configurare simplă, în care mențineți un singur set de instrumente și toate mașinile dvs. sincronizează versiunile instrumentelor lor în această locație.

De exemplu, să presupunem că mențineți sistemele pe 3 rețele separate și doriți să aveți același set de 10 instrumente disponibile pe toate aceste mașini pentru scripturi și întreținere. Aveți un dosar principal de instrumente (disponibil prin intermediul unui site web) în care mențineți versiunile de lansare pe care doriți să le distribuiți tuturor sistemelor. Toate celelalte sisteme, apoi "apelați acasă" la acest director principal și descărcați versiunea respectivă la nivel local. Acest proces oferă o soluție automată pentru a vă asigura că versiunile dvs. de utilitate sunt compatibile în toate sistemele dvs.

Configurarea mediului

Mediul de lucru pentru acest lucru este destul de ușor de configurat și, odată făcut, este cu adevărat o soluție "set it and forget it".

  1. Creați un dosar în interiorul unui site web pe care aveți acces la care va fi serverul ca director principal (de exemplu, ToolsFolder).
  2. Încărcați toate utilitățile obișnuite în acest dosar.
  3. Pe serverele pe care doriți să le sincronizați cu site-ul master, plasați scriptul mai jos în folderul local care deține instrumentele (și WGet dacă nu îl aveți deja).
  4. Actualizați adresa URL în directorul principal (adică http://my.site.com/ToolsFolder).
  5. Programați scriptul să ruleze periodic și toate instrumentele locale care există pe site-ul master vor fi sincronizate.

Utilizări alternative

În timp ce am acoperit o utilizare practică pe care administratorul de sistem o poate avea pentru acest tip de script, există multe alte situații în care acest script poate fi util:

  • Utilizați pentru a actualiza utilitarele Sysinternals și Nirsoft pe mașinile locale (URL-urile sunt incluse în script).
  • Utilizați pe un sistem desktop pentru a păstra un set de documente sincronizate cu o copie de bază.

Scriptul acceptă atât hardcoding un URL, cât și furnizarea acestuia din linia de comandă (adică UpdateFromWeb http://source.site.com/Stuff.zip), deci utilizați-vă imaginația.

Scriptul

@ TITLE OFF OFF de la ECHO Actualizare de la Web ECHO Scris de: Jason Faulkner ECHO SysadminGeek.com ECHO. ECOU. SETLOCAL EnableExtensions REM Puneți acest script în folderul care conține utilitările de actualizat. REM Necesită ca WGet să fie în același director ca și acest script sau într-o locație stabilită în variabila PATH. Adresă URL REM pentru a căuta actualizări în cazul în care niciunul nu este specificat ca parametru. REM URL-uri de interes --- REM Sysinternals: http://live.sysinternals.com/tools REM NirSoft: http://www.nirsoft.net/panel SET URL = http: //my.site.com/ToolsFolder REM Dacă este specificat un parametru, utilizați-l ca adresă URL. DACĂ NU % 1 ==  SET URL =% ~ 1 REM Setați această valoare la 1 pentru a reporni sarcini care sunt oprite în timpul procesului de actualizare. SET RestartKilledTasks = 0 directorul ECHO Detected:% ~ dp0% ~ d0 CD% ~ p0 ECHO. ECOU. SET NewFile = .NEW FOR / F %% A IN ('DIR / B') DO WGet --output-document = "%% A% NewFile%"% ) fișiere. FORFILES / P. / C "CMD / C IF @ fsize == 0 DEL / F / Q @ path" SET StartWhenFinished = "% TEMP% StartWhenFinished.tmp.txt" ECHO; Instrumente terminate>% StartWhenFinished% FOR / DIR / B ') DACĂ (EXISTĂ "%% A% NewFile%" (ECHO a găsit noua versiune a: %% A REM Dacă fișierul rulează, 'TASKULIST') DO (IF / I [%% A] == [%% B] / T / F)) REM Înlocuiește cu noua versiune DELF / Q /% "A%" A% (ECHO ECHO Revenirea la sarcini ucigase FOR / F "usebackq skip = 1" %% A IN (% StartWhenFinished%) DO (ECHO Starting %% A START "Restarting %% A" "%% A" StartWhenFinished% "DEL"% StartWhenFinished% "ENDLOCAL 

Link-uri

Descărcați UpdateFromWeb Script de la SysadminGeek.com

Descărcați WGet