Pagrindinis » kaip » Sukurkite savo automatizuotą failų atnaujinimo sistemą

    Sukurkite savo automatizuotą failų atnaujinimo sistemą

    Kiekvienas serverio administratorius turi naudingų programų, kurias jie nori naudoti. Paprastai šie įrankiai yra laikomi kiekvienoje mašinoje, kad būtų užtikrintas jų prieinamumas ir gali būti gaunami iš įvairių šaltinių, pvz., „Sysinternals“ ir „Nirsoft“.

    Kad šie įrankiai būtų atnaujinti naujausiomis versijomis, rankiniu būdu atnaujinimas gali būti gana varginantis ir daug laiko reikalaujantis, ypač kai mišinyje yra keli serveriai. Taigi mes turime jums sprendimą: paprastas įdiegti sprendimą, kuriame tvarkote vieną įrankių rinkinį, o visi jūsų įrenginiai sinchronizuoja įrankių versijas su šia vietove.

    Pvz., Tarkime, kad palaikote sistemas 3 atskiruose tinkluose ir norėtumėte, kad visose šiose mašinose būtų prieinamas tas pats 10 įrankių rinkinys, skirtas scenarijų ir techninės priežiūros darbams. Turėtumėte turėti pagrindinį įrankių aplanką (kurį galima rasti interneto svetainėje), kurioje palaikysite norimas platinimo versijas, kurios bus platinamos visoms jūsų sistemoms. Tada visos kitos sistemos „telpa namo“ į šį pagrindinį aplanką ir atsisiųs atitinkamą versiją vietoje. Šis procesas suteikia automatinį sprendimą, kad visada įsitikintumėte, jog naudingosios versijos yra suderintos visose jūsų sistemose.

    Aplinkos nustatymas

    Šiam darbui skirta aplinka yra gana paprasta, o kai tai padaroma, tai iš tiesų yra „nustatyti ir pamiršti“ sprendimas.

    1. Sukurti aplanką tinklalapyje, prie kurio turite prieigą prie serverio kaip pagrindinio aplanko (t. Y. ToolsFolder).
    2. Įkelkite visus bendrus įrankius į šį aplanką.
    3. Serveriuose, kuriuos norite sinchronizuoti su pagrindine svetaine, įterpkite žemiau esantį scenarijų į vietinį aplanką, kuriame yra įrankiai (ir WGet, jei to dar neturite).
    4. Atnaujinkite pagrindinio aplanko URL (pvz., Http://my.site.com/ToolsFolder).
    5. Suplanuokite scenarijų, kuris bus vykdomas periodiškai, ir visi vietiniai įrankiai, esantys pagrindinėje svetainėje, bus sinchronizuoti.

    Alternatyvūs naudojimo būdai

    Nors galime naudoti praktinį sistemos administratoriaus naudojimą šiam scenarijų tipui, yra daug kitų situacijų, kai šis scenarijus gali būti naudingas:

    • Naudokite atnaujinti „Sysinternals“ ir „Nirsoft“ komunalines paslaugas vietiniuose įrenginiuose (URL yra įtraukti į scenarijų).
    • Stalinėje sistemoje naudokite dokumentų rinkinį, sinchronizuotą su pagrindine kopija.

    Scenarijus palaiko ir kietojo kodavimo URL, ir tiekia vieną iš komandų eilutės (pvz., UpdateFromWeb http://source.site.com/Stuff.zip), todėl naudokite vaizduotę.

    Scenarijus

    @ECHO OFF TITLE Atnaujinimas iš žiniatinklio ECHO naujinimo iš žiniatinklio ECHO Parašė: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. SETLOCAL EnableExtensions REM Įdėkite šį scenarijų į aplanką, kuriame yra atnaujinamos programos. „REM“ Reikalauja, kad „WGet“ būtų tame pačiame aplanke, kaip šis scenarijus, arba PATH kintamajame nustatytoje vietoje. REM URL, jei norite ieškoti naujinių, jei nė vienas nėra nurodytas kaip parametras. REM URL domina --- REM Sysinternals: http://live.sysinternals.com/tools REM NirSoft: http://www.nirsoft.net/panel SET URL = http: //my.site.com/ToolsFolder REM Jei nustatytas parametras, naudokite jį kaip URL. IF NOT % 1 ==  SET URL =% ~ 1 REM Nustatykite šią vertę į 1, jei norite iš naujo paleisti atnaujinimo proceso metu sustabdytas užduotis. SET RestartKilledTasks = 0 ECHO aptiktas katalogas:% ~ dp0% ~ d0 CD% ~ p0 ECHO. ECHO. SET NewFile = .NEW FOR / F %% A IN ('DIR / B') DO WGet --output-document = "%% A% NewFile%" "% URL% / %% A" REM Ištrinti tuščią (nerasta ) failai. FORFILAI / P. / C "CMD / C IF @ fsize == 0 DEL / F / Q @ kelias" SET StartWhenFinished = "% TEMP% StartWhenFinished.tmp.txt" ECHO; nutraukti įrankiai>% StartWhenFinished% FOR / F %% A IN (' DIR / B ') DO (IF EXIST "%% A% NewFile%" (ECHO Rasta nauja versija: %% A REM Jei failas veikia, nužudyk jį, kad jį būtų galima pakeisti. FOR / F %% B IN ( „TASKLIST“) DO (IF / I [%% A] == [%% B] (šiuo metu veikia ECHO %% B, žudymo procesas. ECHO %% A >>% StartWhenFinished% TASKKILL / IM "%% B" / T / F)) REM Pakeiskite nauja versija DEL / F / Q "%% A" RENAME "%% A% NewFile%" "%% A")) IF % RestartKilledTasks% == 1 (ECHO. ECHO Atnaujinti nužudytas užduotis FOR / F "usebackq skip = 1" %% A IN (% StartWhenFinished%) DO (ECHO pradžia %% A START "Iš naujo paleisti %% A" "%% A")) IF EXIST "% StartWhenFinished% "DEL"% StartWhenFinished% "ENDLOCAL 

    Nuorodos

    Atsisiųskite „UpdateFromWeb“ scenarijų iš „SysadminGeek.com“

    Atsisiųskite WGet