Saját automata fájlfrissítési rendszer létrehozása

Tartalomjegyzék:

Saját automata fájlfrissítési rendszer létrehozása
Saját automata fájlfrissítési rendszer létrehozása

Videó: Saját automata fájlfrissítési rendszer létrehozása

Videó: Saját automata fájlfrissítési rendszer létrehozása
Videó: How Email is Sent and Received on The Internet- Video - YouTube 2024, Április
Anonim

Minden szerver-adminisztrátornak olyan segédprogramja van, amelyet használni szeretne. Ezeket az eszközöket rendszerint mindegyik gépen tárolják, így biztosítva a rendelkezésre állást, és különböző forrásokból származhatnak, például a Sysinternals és a Nirsoft.

Ha ezeket az eszközöket frissíteni szeretné a legújabb verziókhoz, a manuális frissítés meglehetősen unalmas és időigényes lehet, különösen akkor, ha több szerver van a mixben. Így van megoldás az Ön számára: egy egyszerű megoldás létrehozása, ahol egyetlen eszközkészletet tartunk fenn, és minden gépünk szinkronizálja eszközeinek verzióit erre a helyre.

Tegyük fel például, hogy a rendszereket 3 különálló hálózaton tartja fenn, és szeretné, hogy mindegyik gépen ugyanazt a 10 eszköz álljon rendelkezésre a szkriptekhez és a karbantartáshoz. Van egy mester mappája az eszközök (elérhető egy weboldalon), ahol fenntartja a kiadási verziókat szeretne elosztani az összes rendszer. Az összes többi rendszert, majd az "otthon haza" -t a master mappába, és töltsd le a megfelelő verziót helyben. Ez a folyamat automatizált megoldást kínál annak biztosítására, hogy a segédprogram verziói konzisztensek legyenek az összes rendszeren.

A környezet beállítása

A munkakörnyezet nagyon könnyű felállítani, és ha elkészült, valóban egy, akkor, és felejtse el, hogy megoldás.

  1. Hozzon létre egy mappát egy olyan webhelyen belül, amelyhez hozzáféréssel rendelkezik, melyik lesz a kiszolgáló a master mappaként (vagyis a ToolsFolder).
  2. Töltse fel az összes közös segédprogramot ehhez a mappához.

  3. A szinkronizálni kívánt kiszolgálókon helyezze az alábbi parancsfájlt a helyi mappába, amelyik az eszközöket tartalmazza (és a WGet-et, ha még nem rendelkezik vele).
  4. Frissítse az URL-t a fő mappájába (pl.: https://my.site.com/ToolsFolder).

  5. Ideiglenesen futtasd a szkriptet, és a master oldalon található összes helyi eszköz szinkronizálva lesz.

Alternatív felhasználások

Miközben egy olyan rendszergazda gyakorlati alkalmazását fedeztük fel, amely ilyen típusú parancsfájlra vonatkozik, sok más olyan helyzet is van, ahol a szkript hasznos lehet:

  • Használja a Sysinternals és a Nirsoft segédprogramok frissítését a helyi gépeken (az URL-ek szerepelnek a szkriptben).

  • Használja az asztali rendszert, hogy egy dokumentumkészletet szinkronban tartson egy master másolattal.

A parancsfájl egyaránt támogatja az URL kódolását, valamint a parancssort (pl. UpdateFromWeb https://source.site.com/Stuff.zip), így használja a képzeletét.

A script

@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

linkek

Töltse le a UpdateFromWeb Scriptet a SysadminGeek.com webhelyről

Letöltés WGet

Ajánlott: