Vytvorte si vlastný automatický systém na aktualizáciu súborov

Obsah:

Vytvorte si vlastný automatický systém na aktualizáciu súborov
Vytvorte si vlastný automatický systém na aktualizáciu súborov
Anonim

Každý administrátor serverov má sadu nástrojov, ktoré používajú. Tieto nástroje sa obvykle uchovávajú na každom počítači, aby sa zabezpečila dostupnosť, a môžu pochádzať z rôznych zdrojov, ako sú Sysinternals a Nirsoft.

Ak chcete, aby boli tieto nástroje aktualizované na najnovšie verzie, môže byť ručná aktualizácia pomalá a časovo náročná, najmä ak je v mixe viacero serverov. Takže máme riešenie pre vás: jednoduché nastavenie riešenia, kde si udržiavate jednu sadu nástrojov a všetky vaše zariadenia synchronizujú verzie svojich nástrojov na toto miesto.

Predpokladajme napríklad, že budete udržiavať systémy v troch samostatných sieťach a chcete, aby ste mali na všetkých týchto strojoch k dispozícii ten istý súbor nástrojov na skripty a údržbu. Mali by ste mať hlavný priečinok nástrojov (dostupný prostredníctvom webovej lokality), kde budete udržiavať vydané verzie, ktoré chcete distribuovať do všetkých vašich systémov. Všetky ostatné systémy potom "domáci telefón" do tejto hlavnej zložky a stiahnite príslušnú verziu lokálne. Tento proces poskytuje automatické riešenie, ktoré vždy zabezpečuje konzistentnosť verzií utility vo všetkých vašich systémoch.

Nastavenie prostredia

Prostredie pre prácu je veľmi jednoduché nastaviť a akonáhle to urobíte, je to skutočne riešenie.

  1. Vytvorte priečinok vo vnútri webovej stránky, ku ktorej máte prístup, na ktorý bude server ako hlavný priečinok (napr. ToolsFolder).
  2. Odovzdajte všetky bežné nástroje do tejto zložky.

  3. Na serveroch, ktoré chcete synchronizovať s hlavným serverom, umiestnite skript nižšie do lokálneho priečinka, v ktorom sú uložené nástroje (a WGet, ak ho už nemáte).
  4. Aktualizujte adresu URL na hlavnú zložku (napr. Http://my.site.com/ToolsFolder).

  5. Naplánujte pravidelné spustenie skriptu a všetky lokálne nástroje, ktoré existujú na hlavnom webe, budú synchronizované.

Alternatívne použitie

Zatiaľ čo sme pokryli praktické využitie administrátora systému pre tento typ skriptu, existuje veľa ďalších situácií, kedy tento skript môže byť vhodný:

  • Použite na aktualizáciu nástrojov Sysinternals a Nirsoft na lokálnych počítačoch (URL sú zahrnuté do skriptu).
  • Použite na stolnom systéme, aby sa zachovala sada dokumentov synchronizovaná s hlavnou kópiou.

Skript podporuje hardcoding ako adresu URL, ako aj dodanie jedného z príkazového riadku (t. J. UpdateFromWeb https://source.site.com/Stuff.zip), takže použite svoju predstavivosť.

Scenár

@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

odkazy

Stiahnite si UpdateFromWeb Script zo SysadminGeek.com

Stiahnite si WGet

Odporúča: