Úvodná » ako » Vytvorte si vlastný automatický systém aktualizácie súborov

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

    Každý správca serverov má sadu nástrojov, ktoré im radi používajú. Tieto nástroje sa obvykle uchovávajú na každom stroji, aby sa zabezpečila dostupnosť a môžu pochádzať z rôznych zdrojov, ako napríklad 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 na všetkých týchto strojoch mali k dispozícii ten istý súbor nástrojov na skripty a údržbu. Mali by ste mať hlavnú zložku nástrojov (dostupná prostredníctvom webovej lokality), kde budete udržiavať verzie verzií, ktoré chcete distribuovať do všetkých vašich systémov. Všetky ostatné systémy potom "zatelefonujte domov" do tohto hlavného priečinka 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 naozaj riešenie "nastavte to a zabudnite".

    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. Nahrajte 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 systémového administrátora pre tento typ skriptu, existuje veľa ďalších situácií, keď tento skript môže prísť vhodný:

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

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

    Scenár

    @ECHO OFF TITLE Aktualizácia z webovej aplikácie ECHO Update From Web ECHO Napísal: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. SETLOCAL EnableExtensions REM Umiestnite tento skript do priečinka, ktorý obsahuje nástroje na aktualizáciu. REM vyžaduje, aby WGet bol v rovnakom priečinku ako tento skript alebo na mieste nastavenom v premennej PATH. REM URL na vyhľadanie aktualizácií v prípade, že žiadna nie je zadaná ako parameter. REM URL záujmu --- REM Sysinternals: http://live.sysinternals.com/tools REM NirSoft: http://www.nirsoft.net/panel SET URL = http: //my.site.com/ToolsFolder REM Ak je zadaný parameter, použite ho ako adresu URL. AK NIE % 1 ==  SET URL =% ~ 1 REM Nastavte túto hodnotu na 1, aby ste reštartovali úlohy, ktoré boli zastavené počas procesu aktualizácie. SET RestartKilledTasks = 0 Adresár ECHO Detected:% ~ dp0% ~ d0 CD% ~ p0 ECHO. ECHO. SET NewFile = .NEW FOR / F %% A IN ('DIR / B') DO WGet --output-document = "%% A% NewFile%" "% URL% / %% A" ). FORFILES / P. / C "CMD / C IF @ fsize == 0 DEL / F / Q @ cesta" SET StartWhenFinished = "% TEMP% StartWhenFinished.tmp.txt" ECHO; Zakončené nástroje>% StartWhenFinished% FOR / DIR / B ') DO (ak existoval "%% A% NewFile%" (ECHO našiel novú verziu: %% A REM Ak súbor beží, zabaľte ho tak, 'TASKLIST') DO (IF / I [%% A] == [%% B] (v súčasnosti je spustený ECHO %% B, proces zabíjania ECHO %% A >>% StartWhenFinished% TASKKILL / IM "%% B" / T / F)) REM Nahradiť za novú verziu DELETE / F / Q "%% A" RENAME "%% A% NewFile%"%% A ")) IF % RestartKilledTasks% (ECHO, ECHO Vykonanie zabitých úloh FOR / F "usebackq skip = 1" %% A IN (% StartWhenFinished%) DO (ECHO Spustenie %% A START "Restartovanie %% A" "%% A" StartWhenFinished% "DEL"% StartWhenFinished% "ENDLOCAL 

    odkazy

    Stiahnite si UpdateFromWeb Script zo SysadminGeek.com

    Stiahnite si WGet