Hemsida » hur » Bygg ditt eget automatiska filuppdateringssystem

    Bygg ditt eget automatiska filuppdateringssystem

    Varje serveradministratör har en uppsättning verktygsprogram som de tycker om att använda. Vanligtvis hålls dessa verktyg på varje maskin för att säkerställa tillgänglighet och kan komma från en mängd olika källor, såsom Sysinternals och Nirsoft.

    För att hålla dessa verktyg uppdaterade till de senaste versionerna kan manuell uppdatering vara ganska tråkig och tidskrävande, särskilt när det finns flera servrar i mixen. Så vi har en lösning för dig: En enkel lösning där du håller en enda uppsättning verktyg och alla dina maskiner synkroniserar versionerna av deras verktyg till den här platsen.

    Antag att du behåller system på tre separata nätverk och gillar att ha samma uppsättning med 10 verktyg tillgängliga på alla dessa maskiner för skript och underhåll. Du skulle ha en huvudmapp med verktyg (tillgänglig via en webbplats) där du behåller versionsversionerna du vill distribuera till alla dina system. Alla dina andra system "telefon hem" till den här huvudmappen och hämta respektive version lokalt. Denna process ger en automatiserad lösning för att alltid vara säker på att användningsversionerna överensstämmer över alla dina system.

    Ställa in miljön

    Miljön för att detta ska fungera är ganska lätt att ställa upp och, en gång gjort, är det verkligen en "set it and forget it" -lösning.

    1. Skapa en mapp på en webbplats där du har tillgång till vilken server som huvudmapp (dvs ToolsFolder).
    2. Ladda upp alla dina vanliga verktyg till den här mappen.
    3. På servrarna som du vill synkronisera till mästarsidan, placera manuset nedan i den lokala mappen som innehåller verktygen (och WGet om du inte redan har det).
    4. Uppdatera webbadressen till din huvudmapp (dvs http://my.site.com/ToolsFolder).
    5. Planera att skriptet körs regelbundet och alla lokala verktyg som finns på mastersidan kommer att synkroniseras.

    Alternativa användningsområden

    Medan vi har täckt en praktisk användning kan en systemadministratör ha för denna typ av skript, det finns många andra situationer där det här skriptet kan vara användbart:

    • Använd för att uppdatera Sysinternals och Nirsoft verktyg på lokala maskiner (URL: er ingår i skriptet).
    • Använd på ett skrivbordssystem för att hålla en uppsättning dokument synkroniserade med en huvudkopia.

    Skriptet stöder både hardcoding en URL samt levererar en från kommandoraden (dvs UpdateFromWeb http://source.site.com/Stuff.zip), så använd din fantasi.

    Manuset

    @ECHO OFF TITLE Uppdatering från Web ECHO Uppdatering från Web ECHO Skriven av: Jason Faulkner ECHO SysadminGeek.com ECHO. EKO. SETLOCAL EnableExtensions REM Placera det här skriptet i mappen som innehåller verktygen som ska uppdateras. REM Kräver att WGet ska vara i samma mapp som det här skriptet eller på en plats som anges i PATH-variabeln. REM-URL för att leta efter uppdateringar om det inte anges något som en parameter. REM-URL är av intresse --- REM Sysinternals: http://live.sysinternals.com/tools REM NirSoft: http://www.nirsoft.net/panel SET URL = http: //my.site.com/ToolsFolder REM Om en parameter anges, använd den som URL. OM INTE % 1 ==  SET-URL =% ~ 1 REM Ställ in det här värdet till 1 för att starta om de uppgifter som stoppas under uppdateringsprocessen. SET RestartKilledTasks = 0 ECHO Upptäckt katalog:% ~ dp0% ~ d0 CD% ~ p0 ECHO. EKO. SET NewFile = .NYW FOR / F %% A IN ('DIR / B') DO WGet --output-document = "%% A% NewFile%" "% URL% / %% A" REM Ta bort tom ) filer. FORFILER / P. / C "CMD / C IF @ fsize == 0 DEL / F / Q @ sökväg" SET StartWhenFinished = "% TEMP% StartWhenFinished.tmp.txt" ECHO; Avslutade verktyg>% StartFörändrad% FOR / F %% A IN DIR / B ') DO (OM EXIST "%% A% NewFile%" (ECHO hittade ny version av: %% A REM Om filen körs, döda den så att den kan bytas ut. FOR / F %% B IN 'TASKLIST') DO (IF / I [%% A] == [%% B] (ECHO %% B körs för närvarande och dödar processen.) ECHO %% A >>% StartNär slutat% TASKKILL / IM "%% B" / F / Q "%% A" RENAME "%% A% NewFile%" "%% A")) OM % RestartKilledTasks% == 1 (ECHO Starta %% A START "Omstart %% A" "%% A")) OM EXIST "% E" StartWhenFinished% "DEL"% StartWhenFinished% "ENDLOCAL 

    länkar

    Hämta UpdateFromWeb Script från SysadminGeek.com

    Hämta WGet