Ehitage oma automaatne failide värskendussüsteem

Sisukord:

Ehitage oma automaatne failide värskendussüsteem
Ehitage oma automaatne failide värskendussüsteem

Video: Ehitage oma automaatne failide värskendussüsteem

Video: Ehitage oma automaatne failide värskendussüsteem
Video: Half Life 2 Full Walkthrough - NO COMMENTARY & HUD - YouTube 2024, Aprill
Anonim

Igal serveri administraatoril on hulgaliselt utiliite, mida nad soovivad kasutada. Tavaliselt hoitakse neid tööriistu igas masinas kättesaadavuse tagamiseks ning need võivad tulla mitmesugustest allikatest, nagu näiteks Sysinternals ja Nirsoft.

Nende tööriistade värskendamiseks viimaste versioonide juurde võib käsitsi värskendamine olla üsna tüütu ja aeganõudev, eriti siis, kui segus on mitu serverit. Nii et meil on teie jaoks lahendus: lihtne lahendus, kus hoiate ühte tööriista ja kõik teie masinad sünkroonivad selle tööriista versioonid sellele asukohale.

Näiteks oletame, et säilitate süsteeme 3 erinevas võrgus ja sooviksite, et kõigil nendel masinatel on skriptide ja hoolduse jaoks saadaval sama tööriist. Teil oleks tööriistade peamine kaust (saadaval veebisaidi kaudu), kus säilitate avaldamise versioonid, mida soovite kõikidele teie süsteemidele jaotada. Seejärel kopeerige kõik oma teised süsteemid sellele peakokaamale ja laadige vastav versioon alla kohapeal. See protsess pakub automaatset lahendust, mis tagab alati, et teie utiliidid on kõigis teie süsteemides ühtsed.

Keskkonna loomine

Keskkond, kus seda tööd teha, on üsna lihtne seadistada ja kui see on tehtud, on see tõesti olemas ja unusta see lahendus.

  1. Veebisaidi juurde kuuluva kausta loomine, millel on juurdepääs, mille serveriks saab peaarkausta (nt ToolsFolder).
  2. Laadige see kausta alla kõik oma tavalised utiliidid.

  3. Serveritel, mida soovite master-saidile sünkroonida, asetage allolev skript tööriista hoitavasse kohalikku kausta (ja WGeti, kui teil seda veel pole).
  4. Värskendage oma peaarkausta URL-i (nt https://my.site.com/ToolsFolder).

  5. Ajaplaneerige aeg-ajalt skript ja kõik peamised saidil asuvad kohalikud tööriistad sünkroonitakse.

Alternatiivsed kasutusalad

Kuigi oleme hõlmanud praktilist kasutamist, mida süsteemi haldur võib seda tüüpi skripti kasutada, on palju muid olukordi, kus see skript võib olla kasulik:

  • Kasutage Sysinternalsi ja Nirsoft'i kommunaalteenuste uuendamiseks kohalikes masinates (skripti kuuluvad URL-id).
  • Dokumentide komplekti säilitamiseks sünkroonige koopia abil lauaarvutites.

Skript toetab nii URL-i põhikodeerimist kui ka käsurealt (st. UpdateFromWeb https://source.site.com/Stuff.zip) varustamist, nii et kasutage oma kujutlusvõimet.

Skript

@ECHO OFF TITLE Update From Web ECHO Update From Web ECHO Written by: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. SETLOCAL EnableExtensions REM Place this script in the folder which contains the utilities to update. REM Requires WGet to be in the same folder as this script or in a location set in the PATH variable. REM URL to look for updates on in the event none is specified as a parameter. REM URL's of interest --- REM Sysinternals: https://live.sysinternals.com/tools REM NirSoft: https://www.nirsoft.net/panel SET URL=https://my.site.com/ToolsFolder REM If a parameter is specified, use that as the URL. IF NOT {%1}=={} SET URL=%~1 REM Set this value to 1 to restart tasks that are stopped during the update process. SET RestartKilledTasks=0 ECHO Detected directory: %~dp0 %~d0 CD %~p0 ECHO. ECHO. SET NewFile=.NEW FOR /F %%A IN ('DIR /B') DO WGet --output-document='%%A%NewFile%' '%URL%/%%A' REM Delete empty (not found) files. FORFILES /P. /C 'CMD /C IF @fsize==0 DEL /F /Q @path' SET StartWhenFinished='%TEMP%StartWhenFinished.tmp.txt' ECHO;Terminated tools > %StartWhenFinished% FOR /F %%A IN ('DIR /B') DO ( IF EXIST '%%A%NewFile%' ( ECHO Found new version of: %%A REM If the file is running, kill it so it can be replaced. FOR /F %%B IN ('TASKLIST') DO ( IF /I [%%A]==[%%B] ( ECHO %%B is currently running, killing process. ECHO %%A >> %StartWhenFinished% TASKKILL /IM '%%B' /T /F ) ) REM Replace with the new version. DEL /F /Q '%%A' RENAME '%%A%NewFile%' '%%A' ) ) IF {%RestartKilledTasks%}=={1} ( ECHO. ECHO Resuming killed tasks FOR /F 'usebackq skip=1' %%A IN (%StartWhenFinished%) DO ( ECHO Starting %%A START 'Restarting %%A' '%%A' ) ) IF EXIST '%StartWhenFinished%' DEL '%StartWhenFinished%' ENDLOCAL

Lingid

Laadige alla UpdateFromWeb skript SysadminGeek.comst

Laadige alla WGet

Soovitan: