Hjemmeside » hvordan » Bygg ditt eget automatiserte filoppdateringssystem

    Bygg ditt eget automatiserte filoppdateringssystem

    Hver serveradministrator har et sett med verktøy programmer de liker å bruke. Vanligvis holdes disse verktøyene på hver maskin for å sikre tilgjengelighet og kan komme fra en rekke kilder som Sysinternals og Nirsoft.

    For å holde disse verktøyene oppdatert til de nyeste versjonene, kan manuell oppdatering være ganske kjedelig og tidkrevende, spesielt når det er flere servere i blandingen. Så vi har en løsning for deg: En enkel å sette opp løsning der du opprettholder et enkelt sett med verktøy og alle maskinene dine synkroniserer versjonene av verktøyene til denne plasseringen.

    For eksempel, anta at du opprettholder systemer på 3 separate nettverk og liker å ha samme sett med 10 verktøy tilgjengelig på alle disse maskinene for skript og vedlikehold. Du vil ha en hovedmappe med verktøy (tilgjengelig via et nettsted) der du opprettholder utgivelsesversjonene du vil distribuere til alle systemene dine. Alle de andre systemene dine, så "telefon hjem" til denne hovedmappen og last ned den respektive versjonen lokalt. Denne prosessen gir en automatisk løsning for alltid å sørge for at bruksversjonene dine er konsistente på tvers av alle systemene dine.

    Sette opp miljøet

    Miljøet for dette å jobbe er ganske enkelt å sette opp, og når det er gjort, er det virkelig en "sett det og glem det" -løsningen.

    1. Opprett en mappe inne på et nettsted du har tilgang til som vil server som hovedmappen (dvs. ToolsFolder).
    2. Last opp alle de vanlige verktøyene dine i denne mappen.
    3. På serverne du vil synkronisere til masteren, plasserer du skriptet nedenfor i den lokale mappen som inneholder verktøyene (og WGet hvis du ikke allerede har det).
    4. Oppdater nettadressen til hovedmappen din (dvs. http://my.site.com/ToolsFolder).
    5. Planlegg skriptet for å kjøre regelmessig, og alle de lokale verktøyene som finnes på hovedstedet blir synkronisert.

    Alternativ bruk

    Mens vi har dekket en praktisk bruk, kan en systemadministrator ha for denne typen skript, det er mange andre situasjoner hvor dette skriptet kan komme til nytte:

    • Bruk til å oppdatere Sysinternals og Nirsoft-verktøy på lokale maskiner (URL-er er inkludert i skriptet).
    • Bruk på et stasjonært system for å holde et sett med dokumenter synkronisert med en hovedkopi.

    Skriptet støtter både hardcoding en URL samt leverer en fra kommandolinjen (dvs. UpdateFromWeb http://source.site.com/Stuff.zip), så bruk din fantasi.

    Manuset

    @ECHO OFF TITLE Oppdatering fra Web ECHO Oppdatering fra Web ECHO Skrevet av: Jason Faulkner ECHO SysadminGeek.com ECHO. EKKO. SETLOCAL EnableExtensions REM Plasser dette skriptet i mappen som inneholder verktøyene for å oppdatere. REM Krever at WGet skal være i samme mappe som dette skriptet eller på et sted som er angitt i PATH-variabelen. REM URL for å lete etter oppdateringer i tilfelle ingen er spesifisert som en parameter. REM URL-er av interesse --- REM Sysinternals: http://live.sysinternals.com/tools REM NirSoft: http://www.nirsoft.net/panel SET URL = http: //my.site.com/ToolsFolder REM Hvis en parameter er spesifisert, bruk den som URL. HVIS IKKE % 1 ==  SET URL =% ~ 1 REM Angi denne verdien til 1 for å starte oppgaver som stoppes under oppdateringsprosessen. SET RestartKilledTasks = 0 ECHO Oppdaget katalog:% ~ dp0% ~ d0 CD% ~ p0 ECHO. EKKO. SET NewFile = .NYHET FOR / F %% A IN ('DIR / B') DO WGet --output-document = "%% A% NewFile%" "% URL% / %% A" REM Slett tom ) filer. FORFILES / P. / C "CMD / C IF @ fsize == 0 DEL / F / Q @path" SET StartWhenFinished = "% TEMP% StartWhenFinished.tmp.txt" ECHO; Avsluttede verktøy>% StartWhenFinished% FOR / F %% A IN DIR / B ') DO (HVIS EXIST "%% A% NewFile%" (ECHO Fant ny versjon av: %% A REM Hvis filen kjører, drep den så den kan byttes. FOR / F %% B IN 'TASKLIST') DO (IF / I [%% A] == [%% B] (ECHO %% B kjører for øyeblikket, dreper prosess. ECHO %% A >>% StartWhenFinished% TASKKILL / IM "%% B" / T / F)) REM Erstatt med den nye versjonen. DEL / F / Q "%% A" RENAME "%% A% NewFile%" "%% A")) HVIS % RestartKilledTasks% == 1 (ECHO Starte %% A START "Omstart %% A" "%% A")) HVIS EXIS "% E" StartWhenFinished% "DEL"% StartWhenFinished% "ENDLOCAL 

    lenker

    Last ned UpdateFromWeb Script fra SysadminGeek.com

    Last ned WGet