Rakenna oma automaattinen tiedostojen päivitysjärjestelmä

Sisällysluettelo:

Rakenna oma automaattinen tiedostojen päivitysjärjestelmä
Rakenna oma automaattinen tiedostojen päivitysjärjestelmä

Video: Rakenna oma automaattinen tiedostojen päivitysjärjestelmä

Video: Rakenna oma automaattinen tiedostojen päivitysjärjestelmä
Video: Lonely (short version) - YouTube 2024, Maaliskuu
Anonim

Jokaisella palvelimen järjestelmänvalvojalla on joukko apuohjelmia, joita he haluavat käyttää. Tyypillisesti nämä työkalut säilytetään jokaisessa koneessa varmistaakseen saatavuuden ja voivat tulla useista eri lähteistä, kuten Sysinternalsista ja Nirsoftista.

Jotta näitä työkaluja voidaan päivittää uusimpaan versioon, manuaalinen päivitys voi olla melko tylsiä ja aikaa vieviä, varsinkin kun yhdistelmässä on useita palvelimia. Joten meillä on ratkaisu sinulle: yksinkertainen ratkaisu, jossa ylläpidät yksittäisiä työkaluja ja kaikki laitteet synkronoivat työkalujen versiot tähän paikkaan.

Oletetaan esimerkiksi, että ylläpität järjestelmiä kolmessa erillisessä verkossa ja haluat, että kaikilla näillä koneilla on samat 10 työkalua käsikirjoituksiin ja ylläpitoon. Sinulla olisi pääkansio työkaluista (saatavilla verkkosivustosta), jossa ylläpidät julkaisuversioita, jotka haluat jakaa kaikille järjestelmille. Kaikki muut järjestelmät sitten, Äänet kotona, tähän pääkansioon ja lataa vastaava versio paikallisesti. Tämä prosessi tarjoaa automatisoitun ratkaisun aina varmistaa, että apuohjelmasi versiot ovat yhdenmukaisia kaikissa järjestelmissäsi.

Ympäristön käyttöönotto

Ympäristö tämän toimimaan on melko helppo perustaa, ja kun se on tehty, on todella, ääneen ja unohtaa se, ratkaisu.

  1. Luo kansio, jonka sisälle pääset käyttämään pääkansioon (ts. ToolsFolder).
  2. Lataa kaikki yhteiset apuohjelmasi tähän kansioon.

  3. Määritä palvelimet, jotka haluat synkronoida isäntäsivustolle, aseta komentosarja alla olevaan paikalliseen kansioon, jossa on työkalut (ja WGet, jos sinulla ei ole sitä jo).
  4. Päivitä URL-osoite pääkansioosi (eli https://my.site.com/ToolsFolder).

  5. Ajoittakaa käsikirjoitus ajoittain ja kaikki pääkäyttäjän paikalliset työkalut synkronoidaan.

Vaihtoehtoiset käyttötarkoitukset

Vaikka olemme käsitelleet käytännön sovellusjärjestelmän ylläpitäjälle tällaista kirjoitusohjelmaa, on monia muita tilanteita, joissa tämä kirjoitus voi olla kätevä:

  • Käytä Sysinternals- ja Nirsoft-apuohjelmien päivittämiseen paikallisiin koneisiin (URL-osoitteet sisältyvät komentosarjaan).
  • Käytä työpöytähallintajärjestelmää, jotta asiakirjojen sarja synkronoidaan pääkopion kanssa.

Käsikirjoitus tukee sekä URL-osoitteen koodaamista että komentorivin toimittamista (eli UpdateFromWeb https://source.site.com/Stuff.zip), joten käytä mielikuvitustasi.

Käsikirjoitus

@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

Linkit

Lataa UpdateFromWeb Script osoitteesta SysadminGeek.com

Lataa WGet

Suositeltava: