Domača » kako » Zgradite svoj sistem za samodejno posodobitev datotek

    Zgradite svoj sistem za samodejno posodobitev datotek

    Vsak skrbnik strežnika ima na voljo niz programov, ki jih želijo uporabljati. Običajno se ta orodja hranijo na vsakem računalniku, da zagotovijo razpoložljivost in lahko prihajajo iz različnih virov, kot so Sysinternals in Nirsoft.

    Da bi bila ta orodja posodobljena na najnovejše različice, je lahko ročno posodabljanje precej dolgočasno in zamudno, še posebej, če je v mešanici več strežnikov. Zato imamo rešitev za vas: preprosta rešitev za nastavitev, kjer vzdržujete en sam nabor orodij in vse naprave sinhronizirajo različice svojih orodij s to lokacijo..

    Recimo, da vzdržujete sisteme v treh ločenih omrežjih in želite imeti na voljo vseh 10 orodij, ki so na voljo na vseh teh strojih za skripte in vzdrževanje. Imeli bi glavno mapo orodij (na voljo prek spletnega mesta), kjer vzdržujete različice izdaje, ki jih želite distribuirati vsem sistemom. Vsi vaši sistemi nato »pokličejo domov« v to glavno mapo in lokalno naložijo ustrezno različico. Ta postopek zagotavlja avtomatizirano rešitev, ki vedno zagotavlja, da so vaše različice pripomočkov dosledne v vseh sistemih.

    Nastavitev okolja

    Okolje za to je zelo preprosto vzpostaviti in, ko je končano, je resnično rešitev »nastavite jo in pozabite«.

    1. Ustvarite mapo znotraj spletnega mesta, do katerega imate dostop, ki bo strežnik kot glavna mapa (tj. Mapa z orodji).
    2. V to mapo prenesite vse skupne pripomočke.
    3. Na strežnikih, ki jih želite sinhronizirati z glavnim mestom, spodaj postavite skript v lokalno mapo, v kateri so orodja (in WGet, če ga še nimate).
    4. Posodobite URL v svojo glavno mapo (npr. Http://my.site.com/ToolsFolder).
    5. Načrtujte periodično izvajanje skripta in sinhronizirajte vsa lokalna orodja, ki obstajajo na glavnem mestu.

    Nadomestne uporabe

    Čeprav smo za to vrsto skripta uporabili praktično uporabo, ki jo ima skrbnik sistema, obstaja veliko drugih primerov, ko lahko ta skript pride prav:

    • Uporabite za posodobitev pripomočkov Sysinternals in Nirsoft na lokalnih računalnikih (URL-ji so vključeni v skript).
    • Uporabite na namiznem sistemu za sinhronizacijo niza dokumentov z glavno kopijo.

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

    Scenarij

    @ECHO OFF TITLE Posodobitev iz spletne ECHO posodobitve iz spletne ECHO Avtor: 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 lokaciji, ki je nastavljena v spremenljivki PATH. URL REM za iskanje posodobitev v primeru, da noben ni podan kot parameter. REM URL zanimanja --- REM Sysinternals: http://live.sysinternals.com/tools REM NirSoft: http://www.nirsoft.net/panel SET URL = http: //my.site.com/ToolsFolder REM Če je parameter podan, ga uporabite kot URL. ČE NE % 1 ==  SET URL =% ~ 1 REM Nastavite to vrednost na 1, da znova zaženete naloge, ki se ustavijo med postopkom posodabljanja. SET RestartKilledTasks = 0 ECHO zaznan imenik:% ~ dp0% ~ d0 CD% ~ p0 ECHO. ECHO. SET NewFile = .NEW FOR / F %% A IN ('DIR / B') DO WGet --output-document = "%% A% NewFile%" "% URL% / %% A" REM Izbriši prazno (ni bilo mogoče najti) ) datotek. FORFILES / P. / C "CMD / C IF @ fsize == 0 DEL / F / Q @path" SET StartWhenFinished = "% TEMP% ZačetekFinirana.tmp.txt" ECHO; DIR / B ') DO (ČE OBSTAJA "%% A% NewFile%" (ECHO je našel novo različico: %% A REM Če se datoteka izvaja, jo ubijte, da jo lahko zamenjate. FOR / F %% B IN ( 'TASKLIST') DO (IF / I [%% A] == [%% B] (ECHO %% B se trenutno izvaja, proces ubijanja. ECHO %% A >>% StartWhenFinished% TASKKILL / IM "%% B" / T / F)) REM Zamenjajte z novo različico DEL / F / Q "%% A" RENAME "%% A% NewFile%" "%% A")) IF % RestartKilledTasks% == 1 (ECHO. ECHO Nadaljevanje ubitih nalog FOR / F "usebackq skip = 1" %% A IN (% StartWhenFinished%) DO (ECHO Začetek %% A START "Ponovni zagon %% A" %% A ")) Če obstaja" StartWhenFinished% "DEL"% StartWhenFinished% "ENDLOCAL 

    Povezave

    Prenesite UpdateFromWeb Script iz SysadminGeek.com

    Prenesite WGet