3Sep

Zgradite svoj avtomatiziran sistem za posodobitev datotek

click fraud protection

Vsak skrbnik strežnika ima nabor uporabnih programov, ki jih radi uporabljajo. Značilno je, da se ta orodja hranijo na vsakem računalniku, da se zagotovi razpoložljivost in lahko prihajajo iz različnih virov, kot so Sysinternals in Nirsoft.

Če želite ta orodja posodobiti z najnovejšimi različicami, je ročno posodabljanje lahko precej dolgočasno in dolgotrajno, še posebej, če je v mešanici več strežnikov. Torej imamo rešitev za vas: preprosto nastavite rešitev, kjer ohranjate enoten nabor orodij in vsi vaši stroji sinhronizirajo različice svojih orodij s to lokacijo.

Predpostavite, na primer, da vzdržujete sisteme v treh ločenih omrežjih in želite imeti enak nabor 10 orodij na vseh teh napravah za skripte in vzdrževanje. Imeli bi glavno mapo orodij( na voljo prek spletne strani), kjer vzdržujete različice za izdajo, ki jih želite razdeliti vsem svojim sistemom. Vsi vaši drugi sistemi nato "telefon domov" v to glavno mapo in lokalno prenesete zadevno različico. Ta postopek zagotavlja avtomatizirano rešitev, s katero vedno preverite, ali so vaše različice pripomočkov skladne v vseh vaših sistemih.

instagram viewer

Nastavitev okolja

Okolje za to delo je zelo enostavno nastaviti in, ko je to storjeno, resnično "nastavite in pozabite" rešitev.

  1. Ustvarite mapo znotraj spletne strani, do katere imate dostop, ki bo strežnik kot glavna mapa( npr. ToolsFolder).
  2. V to mapo prenesite vse svoje običajne pripomočke.
  3. Na strežnikih, ki jih želite sinhronizirati z glavno spletno stranjo, skript pod njim postavite v lokalno mapo, v kateri so orodja( in WGet, če ga še nimate).
  4. Posodobite URL v svojo glavno mapo( to je http: //my.site.com/ ToolsFolder).
  5. Načrtujte scenarij, ki se bo redno izvajal in vsa lokalna orodja, ki obstajajo na glavnem mestu, bodo sinhronizirana.

Nadomestna uporaba

Medtem ko smo za praktično uporabo uporabljali sistemski skrbnik za to vrsto skripta, obstaja še veliko drugih primerov, v katerih je ta skript lahko priročen:

  • Uporabite za posodobitev pripomočkov Sysinternals in Nirsoft na lokalnih računalnikih( URL-ji so vključeniv skriptu).
  • Uporabite v namiznem sistemu, da shranite niz dokumentov, sinhroniziranih z glavno kopijo.

Skript podpira tako trdno kodiranje URL-ja kot tudi dobavo enega iz ukazne vrstice( npr. UpdateFromWeb http: //source.site.com/ Stuff.zip), zato uporabite svojo domišljijo.

Skript

@ECHO OFF NASLOV Posodobitev iz spleta ECHO Posodobitev iz spletnega ECHO Prispeval: Jason Faulkner ECHO SysadminGeek.com ECHO.ECHO.SETLOCAL EnableExtensions REM Postavite ta skript v mapo, ki vsebuje pripomočke za posodobitev. REM Zahteva, da je WGet v isti mapi kot ta skript ali na mestu, ki je nastavljena v spremenljivki PATH.URL REM za iskanje posodobitev v primeru, če ni podan noben parameter. REM URL-ji zanimanja --- REM Sysinternals: http: //live.sysinternals.com/ orodja REM NirSoft: http: //www.nirsoft.net/ plošča SET URL = http: //my.site.com/ ToolsFolder REM Če je parameter določen, ga uporabite kot URL.ČE NI{ % 1} =={ } SET URL =% ~ 1 REM To vrednost nastavite na 1, če želite znova zagnati opravila, ki so med postopkom posodobitve zaustavljeni. SET RestartKilledTasks = 0 ECHO Detektirani imenik:% ~ dp0% ~ d0 CD% ~ p0 ECHO.ECHO.SET NewFile =. NEW FOR / F %% IN( 'DIR / B') DO WGet --output-document = "%% A% NewFile%" "% URL% / %% A" REM Brisanje prazne( ni bilo mogoče najti) datoteke. FORFILES / P./ C "CMD / C IF @ fsize == 0 DEL / F / Q @path" SET StartWhenFinished = "% TEMP% StartWhenFinished.tmp.txt" ECHO; prekinjena orodja & gt;% Začetek, ko je bil dokončan% FOR / F %% IN( "DIR / B") DO( ČE JE VEČ "%% A% NewFile%"( ECHO Najdena nova različica: %% A REM Če se datoteka zažene, jo ubij,je mogoče zamenjati FOR / F %% B IN( 'TASKLIST') DO( IF / I [%% A] == [%% B]( ECHO %% B se trenutno izvaja, postopek ubijanja. REM Zamenjaj z novo različico. DEL / F / Q "%% A" RENAME "%% A% NewFile%" "%% A")) IF{ % RestartKilledTasks%} =={ 1}( ECHO ECHO Nadaljevanje ubranih opravil FOR / F" usebackq skip = 1 "%% IN( % StartWhenFinished%) DO( ECHO Zagon %% A START"% A "" %% A ")) IF EXIST"% StartWhenFinished% "DEL"% StartWhenFinished% "ENDLOCAL

Povezave

Prenesite UpdateFromWeb Script iz SysadminGeek.com

Prenesite WGet