Pagina principala » HOWTO » Construiți propriul sistem automat de actualizare a fișierelor

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

    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 set unic 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 întotdeauna că versiunile dvs. de utilitate sunt compatibile în toate sistemele dvs..

    Configurarea mediului

    Mediul pentru a funcționa este destul de ușor de configurat și, odată făcut, este cu adevărat o soluție "setată și uitată".

    1. Creați un dosar în interiorul unui site 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 principal, 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 dvs. 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 folosiți-vă imaginația.

    Scriptul

    @ TITLE OFF OFF DE ECHO Actualizare de la Web ECHO Scris de: Jason Faulkner ECHO SysadminGeek.com ECHO. ECOU. SETLOCAL EnableExtensions REM Plasați acest script în folderul care conține utilitarele 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. REM URL pentru a căuta actualizări în cazul în care nici unul nu este specificat ca un 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 ') DO (DACĂ EXISTĂ "%% A% NewFile%" (ECHO a găsit noua versiune de: %% A REM Dacă fișierul rulează, 'TASKLIST') DO (IF / I [%% A] == [%% B] (ECHO %% B rulează în prezent, procesul de ucidere. / T / F)) REM Înlocuiește-o cu noua versiune DELETE / F / Q "%% A" RENAME "%% A% NewFile%" 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