Izradite vlastiti sustav automatskog ažuriranja datoteka

Sadržaj:

Izradite vlastiti sustav automatskog ažuriranja datoteka
Izradite vlastiti sustav automatskog ažuriranja datoteka

Video: Izradite vlastiti sustav automatskog ažuriranja datoteka

Video: Izradite vlastiti sustav automatskog ažuriranja datoteka
Video: How to Change Windows 7 Taskbar Color Tutorial HD - YouTube 2024, Travanj
Anonim

Svaki administrator poslužitelja ima skup uslužnih programa koje vole koristiti. Tipično, ovi alati se čuvaju na svakom stroju 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 dosadno i dugotrajan, pogotovo kada u miksu postoji više poslužitelja. Na taj način imamo rješenje za vas: jednostavno postaviti rješenje gdje održavate jedan skup alata i svi vaši strojevi sinkroniziraju verzije svojih alata na tu lokaciju.

Na primjer, pretpostavimo da održavate sustave na 3 zasebne mreže i želite imati isti skup od 10 alata dostupnih na svim tim strojevima za skripte i održavanje. Imat ćete glavnu mapu alata (dostupnih putem web stranice) gdje održavate verzije izdanja koje želite distribuirati svim svojim sustavima. Svi vaši drugi sustavi zatim, "kućni telefon", na ovu glavnu mapu i preuzmite odgovarajuću verziju lokalno. Ovaj proces pruža automatizirano rješenje za uvijek pazeći da su vaše uslužne verzije konzistentne u svim vašim sustavima.

Postavljanje okruženja

Okoliš za to radi je prilično jednostavan za postavljanje i, nakon što je učinio, uistinu je, ustrajati i zaboraviti ga, rješenje.

  1. Izradite mapu unutar web stranice kojoj imate pristup do kojeg će poslužitelj kao glavna mapa (npr. ToolsFolder).
  2. U ovu mapu prenesite sve uobičajene uslužne programe.

  3. Na poslužiteljima koje želite sinkronizirati na glavnu stranicu, stavite skriptu ispod u lokalnu mapu koja sadrži alate (i WGet ako ga već nemate).
  4. Ažurirajte URL u glavnu mapu (tj. Http://my.site.com/ToolsFolder).

  5. Zakazati skriptu da se povremeno pokreće i svi lokalni alati koji postoje na master stranici sinkroniziraju se.

Alternativne upotrebe

Dok smo obuhvatili praktičnu uporabu koju administrator sustava može imati za ovu vrstu skripte, postoje mnoge druge situacije u kojima ova skripta može biti korisna:

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

Skripta podržava i hardcoding URL kao i opskrbu jednom iz naredbenog retka (tj. UpdateFromWeb https://source.site.com/Stuff.zip), stoga upotrijebite svoju maštu.

Skripta

@ECHO OFF TITLE Update From Web ECHO Update From Web ECHO Written by: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. SETLOCAL EnableExtensions REM Place this script in the folder which contains the utilities to update. REM Requires WGet to be in the same folder as this script or in a location set in the PATH variable. REM URL to look for updates on in the event none is specified as a parameter. REM URL's of interest --- REM Sysinternals: https://live.sysinternals.com/tools REM NirSoft: https://www.nirsoft.net/panel SET URL=https://my.site.com/ToolsFolder REM If a parameter is specified, use that as the URL. IF NOT {%1}=={} SET URL=%~1 REM Set this value to 1 to restart tasks that are stopped during the update process. SET RestartKilledTasks=0 ECHO Detected directory: %~dp0 %~d0 CD %~p0 ECHO. ECHO. SET NewFile=.NEW FOR /F %%A IN ('DIR /B') DO WGet --output-document='%%A%NewFile%' '%URL%/%%A' REM Delete empty (not found) files. FORFILES /P. /C 'CMD /C IF @fsize==0 DEL /F /Q @path' SET StartWhenFinished='%TEMP%StartWhenFinished.tmp.txt' ECHO;Terminated tools > %StartWhenFinished% FOR /F %%A IN ('DIR /B') DO ( IF EXIST '%%A%NewFile%' ( ECHO Found new version of: %%A REM If the file is running, kill it so it can be replaced. FOR /F %%B IN ('TASKLIST') DO ( IF /I [%%A]==[%%B] ( ECHO %%B is currently running, killing process. ECHO %%A >> %StartWhenFinished% TASKKILL /IM '%%B' /T /F ) ) REM Replace with the new version. DEL /F /Q '%%A' RENAME '%%A%NewFile%' '%%A' ) ) IF {%RestartKilledTasks%}=={1} ( ECHO. ECHO Resuming killed tasks FOR /F 'usebackq skip=1' %%A IN (%StartWhenFinished%) DO ( ECHO Starting %%A START 'Restarting %%A' '%%A' ) ) IF EXIST '%StartWhenFinished%' DEL '%StartWhenFinished%' ENDLOCAL

linkovi

Preuzmite UpdateFromWeb Script od SysadminGeek.com

Preuzmite WGet

Preporučeni: