Domovská » jak » Vytvořte si vlastní automatický systém aktualizace souborů

    Vytvořte si vlastní automatický systém aktualizace souborů

    Každý administrátor serveru má sadu utilitních programů, které chtějí používat. Obvykle jsou tyto nástroje uchovávány na každém stroji, aby byla zajištěna dostupnost a mohou pocházet z různých zdrojů, jako jsou Sysinternals a Nirsoft.

    Chcete-li, aby byly tyto nástroje aktualizovány na nejnovější verze, může být ruční aktualizace poměrně zdlouhavé a časově náročné, zvláště pokud je v mixu několik serverů. Takže pro vás máme řešení: jednoduché nastavení řešení, kde si udržujete jednotnou sadu nástrojů a všechny vaše stroje synchronizují verze svých nástrojů na toto místo.

    Předpokládejme například, že udržujete systémy ve třech samostatných sítích a chcete mít na všech těchto strojích k dispozici stejnou sadu 10 nástrojů pro skripty a údržbu. Měli byste mít hlavní složku nástrojů (dostupná prostřednictvím webových stránek), kde budete udržovat distribuční verze, které chcete distribuovat do všech vašich systémů. Všechny ostatní systémy pak "telefonujte domů" do této hlavní složky a stáhněte příslušnou verzi místně. Tento proces poskytuje automatizované řešení, aby se vždy ujistil, že vaše verze nástrojů jsou konzistentní ve všech vašich systémech.

    Nastavení prostředí

    Prostředí, na kterém se pracuje, je velmi snadné nastavit a jakmile je provedeno, je to skutečně řešení "nastavit a zapomenout".

    1. Vytvoření složky uvnitř webového serveru, ke kterému máte přístup, bude server jako hlavní složku (tj. ToolsFolder).
    2. Nahrajte všechny své běžné nástroje do této složky.
    3. Na serverech, které chcete synchronizovat s hlavní stránkou, umístěte skript níže do místní složky, ve které jsou uloženy nástroje (a WGet, pokud ji nemáte).
    4. Aktualizujte adresu URL na hlavní složku (např. Http://my.site.com/ToolsFolder).
    5. Naplánujte pravidelný běh skriptu a synchronizujte všechny místní nástroje, které existují na hlavním webu.

    Alternativní použití

    Zatímco jsme se zabývali praktickým použitím administrátora systému pro tento typ skriptu, existuje mnoho dalších situací, kdy tento skript může být užitečný:

    • Použijte k aktualizaci nástrojů Sysinternals a Nirsoft na místních počítačích (adresy URL jsou součástí skriptu).
    • Použijte v systému pro stolní počítače, abyste měli soubor synchronizovaných dokumentů s hlavní kopií.

    Skript podporuje jak hardcoding adresu URL, tak i jednu z příkazového řádku (tj. UpdateFromWeb http://source.site.com/Stuff.zip), takže použijte svou představivost.

    Scénář

    @ECHO OFF TITLE Aktualizace z webové aplikace ECHO Update From Web ECHO Napsal uživatel: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. SETLOCAL EnableExtensions REM Umístěte tento skript do složky, která obsahuje aktualizační nástroje. REM vyžaduje, aby WGet byl ve stejné složce jako tento skript nebo v místě nastaveném v proměnné PATH. REM URL pro vyhledání aktualizací v případě, že není zadán žádný parametr. REM URL zájmu --- REM Sysinternals: http://live.sysinternals.com/tools REM NirSoft: http://www.nirsoft.net/panel SET URL = http: //my.site.com/ToolsFolder REM Pokud je zadán parametr, použijte jako adresu URL. POKUD NEN % 1 ==  SET URL =% ~ 1 REM Tuto hodnotu nastavte na hodnotu 1 pro restartování úloh, které jsou zastaveny během procesu aktualizace. SET RestartKilledTasks = 0 adresář ECHO Detected:% ~ dp0% ~ d0 CD% ~ p0 ECHO. ECHO. SET NewFile = .NEW FOR / F %% A IN ('DIR / B') DO WGet --output-document = "%% A% NewFile%"% ). FORFILES / P. / C "CMD / C IF @ fsize == 0 DEL / F / Q @path" SET StartWhenFinished = "% TEMP% StartWhenFinished.tmp.txt" ECHO; Zakončené nástroje>% StartWhenFinished% FOR / F% DIR / B ') DO (pokud existuje "%% A% NewFile%" (ECHO Nalezena nová verze: %% A REM Pokud je soubor spuštěn, zabijte jej tak, 'TASKLIST') DO (IF / I [%% A] == [%% B] (v současné době běží ECHO %% B, proces zabíjení ECHO %% A >>% StartWhenFinished% TASKKILL / IM "%% B" / T / F)) REM Nahradit s novou verzí DELETE / F / Q "%% A" RENAME "%% A% NewFile%"%% A ")) IF % RestartKilledTasks% (ECHO, ECHO obnovení zraněných úkolů FOR / F "usebackq skip = 1" %% A IN (% StartWhenFinished%) DO (ECHO spuštění %% A START "restartování %% A" "%% A" StartWhenFinished% "DEL"% StartWhenFinished% "ENDLOCAL 

    Odkazy

    Stáhněte si UpdateFromWeb Script od SysadminGeek.com

    Stáhněte si WGet