Početna » kako da » Izgradite vlastiti automatizirani sustav ažuriranja datoteka

    Izgradite vlastiti automatizirani sustav ažuriranja datoteka

    Svaki administrator poslužitelja ima skup uslužnih programa koje žele koristiti. Obično se ovi alati čuvaju na svakom računalu kako bi se osigurala dostupnost i mogu doći iz različitih izvora kao što su Sysinternals i Nirsoft.

    Da bi se ti alati ažurirali na najnovije verzije, ručno ažuriranje može biti prilično zamorno i dugotrajno, pogotovo kada je u kombinaciji više poslužitelja. Stoga imamo rješenje za vas: jednostavno rješenje za postavljanje gdje ćete održavati jedan skup alata, a svi vaši uređaji sinkronizirati verzije svojih alata na tu lokaciju.

    Na primjer, pretpostavimo da održavate sustave na 3 odvojene mreže i želite imati isti skup od 10 alata dostupnih na svim tim strojevima za skripte i održavanje. Imali biste glavnu mapu alata (dostupno putem web-mjesta) na kojoj održavate verzije izdanja koje želite distribuirati svim vašim sustavima. Svi vaši drugi sustavi tada „telefoniraju“ u ovu glavnu mapu i preuzimaju odgovarajuću verziju lokalno. Ovaj proces pruža automatizirano rješenje za uvijek osiguranje da su vaše verzije uslužnog programa konzistentne u svim vašim sustavima.

    Postavljanje okruženja

    Okruženje za rad je prilično jednostavno postaviti i, kada ga završite, je uistinu rješenje „postavi ga i zaboravi“.

    1. Stvorite mapu unutar web-lokacije kojoj pristupate poslužitelj kao glavna mapa (tj. Mapa alata).
    2. Prenesite sve uobičajene uslužne programe u ovu mapu.
    3. Na poslužiteljima koje želite sinkronizirati na glavnu web-lokaciju postavite skriptu u lokalnu mapu u kojoj se nalaze alati (i WGet ako je već nemate).
    4. Ažurirajte URL u glavnu mapu (npr. Http://my.site.com/ToolsFolder).
    5. Zakažite skriptu da se povremeno pokreće i svi lokalni alati koji postoje na glavnom web-mjestu bit će sinkronizirani.

    Alternativna upotreba

    Iako smo pokrili praktičnu uporabu administratora sustava za ovu vrstu skripte, postoje mnoge druge situacije u kojima ova skripta može dobro doći:

    • Koristi se za ažuriranje Sysinternals i Nirsoft alata na lokalnim strojevima (URL-ovi su uključeni u skriptu).
    • Koristite na stolnom sustavu da biste sinkronizirali skup dokumenata s glavnom kopijom.

    Skripta podržava i kodiranje URL-a kao i dobivanje jednog iz naredbenog retka (tj. UpdateFromWeb http://source.site.com/Stuff.zip), stoga upotrijebite svoju maštu.

    Skripta

    @ECHO OFF TITLE Ažuriranje iz web-ECHO-a Ažuriranje web-a ECHO Autor: Jason Faulkner ECHO SysadminGeek.com ECHO. JEKA. SETLOCAL EnableExtensions REM Postavite ovu skriptu u mapu koja sadrži uslužne programe za ažuriranje. REM Zahtijeva da WGet bude u istoj mapi kao ova skripta ili na mjestu postavljenom u PATH varijabli. REM URL za traženje ažuriranja u slučaju da nitko nije naveden kao parametar. REM URL zanimljivosti --- REM Sysinternals: http://live.sysinternals.com/tools REM NirSoft: http://www.nirsoft.net/panel SET URL = http: //my.site.com/ToolsFolder REM Ako je parametar naveden, koristite ga kao URL. AKO NE % 1 ==  SET URL =% ~ 1 REM Postavite ovu vrijednost na 1 da biste ponovno pokrenuli zadatke koji su zaustavljeni tijekom procesa ažuriranja. SET RestartKilledTasks = 0 Direktorij ECHO Detected:% ~ dp0% ~ d0 CD% ~ p0 ECHO. JEKA. SET NewFile = .NEW FOR / F %% A IN ('DIR / B') DO WGet --output-document = "%% A% NewFile%" "% URL% / %% A" REM Brisanje prazno (nije pronađeno) ) datoteke. FORFILES / P. / C "CMD / C IF @ fsize == 0 DEL / F / Q @path" SET StartWhenFinished = "% TEMP% StartWhenFinished.tmp.txt" ECHO; Prekid alata>% StartWhenFinished% FOR / F %% A IN (' DIR / B ') DO (AKO POSTOJI "%% A% NewFile%" (ECHO pronašao novu verziju: %% A REM Ako je datoteka pokrenuta, ubijte je kako biste je mogli zamijeniti. FOR / F %% B IN ( "TASKLIST") DO (IF / I [%% A] == [%% B] (trenutno se izvodi ECHO %% B, proces ubijanja. ECHO %% A >>% StartWhenFinished% TASKKILL / IM "%% B" / T / F)) REM Zamijenite s novom verzijom DEL / F / Q "%% A" RENAME "%% A% NewFile%" "%% A")) IF % RestartKilledTasks% == 1 (ECHO. ECHO Nastavak ubijenih zadataka FOR / F "usebackq skip = 1" %% A IN (% StartWhenFinished%) DO (ECHO Pokretanje %% A START "Ponovno pokretanje %% A" "%% A")) IF EXIST "% StartWhenFinished% "DEL"% StartWhenFinished% "ENDLOCAL 

    linkovi

    Preuzmite skriptu UpdateFromWeb iz SysadminGeek.com

    Preuzmite WGet