Bouw je eigen geautomatiseerde bestandsupdatesysteem
Elke serverbeheerder heeft een set hulpprogramma's die ze graag gebruiken. Deze hulpmiddelen worden meestal op elke machine bewaard om beschikbaarheid te garanderen en kunnen afkomstig zijn van verschillende bronnen, zoals Sysinternals en Nirsoft..
Om deze hulpprogramma's bijgewerkt te houden naar de nieuwste versies, kan handmatig bijwerken behoorlijk vervelend en tijdrovend zijn, vooral als er meerdere servers in de mix zitten. We hebben dus een oplossing voor u: een eenvoudig te installeren oplossing waarbij u een enkele set hulpprogramma's onderhoudt en al uw machines de versies van hun hulpprogramma's synchroniseren met deze locatie.
Stel dat u systemen op 3 verschillende netwerken onderhoudt en dezelfde set van 10 hulpprogramma's op al deze computers beschikbaar wilt hebben voor scripts en onderhoud. U beschikt over een hoofdmap met hulpprogramma's (beschikbaar via een website) waar u de gewenste releaseversies op al uw systemen beheert. Al uw andere systemen bellen vervolgens naar deze hoofdmap en downloaden de betreffende versie lokaal. Dit proces biedt een geautomatiseerde oplossing om altijd ervoor te zorgen dat uw hulpprogramma-versies consistent zijn op al uw systemen.
De omgeving instellen
De omgeving om dit te laten werken is vrij eenvoudig in te stellen en, eenmaal gedaan, is het echt een "zet het in en vergeet het maar" -oplossing.
- Maak een map aan binnen een website waartoe u toegang hebt en die als de hoofdmap zal serveren (bijv. ToolsFolder).
- Upload al uw gebruikelijke hulpprogramma's naar deze map.
- Op de servers die u wilt synchroniseren met de hoofdsite, plaatst u het script hieronder in de lokale map waarin de hulpprogramma's zijn opgeslagen (en WGet als u dit nog niet hebt)..
- Werk de URL bij naar uw hoofdmap (d.w.z. http://my.site.com/ToolsFolder).
- Plan het script om periodiek te worden uitgevoerd en alle lokale tools die op de mastersite staan, worden gesynchroniseerd.
Alternatief gebruik
Hoewel we een praktisch gebruik van een systeembeheerder hebben behandeld voor dit type script, zijn er veel andere situaties waarin dit script van pas kan komen:
- Gebruik om Sysinternals en Nirsoft-hulpprogramma's bij te werken op lokale machines (URL's zijn opgenomen in het script).
- Gebruik op een desktopsysteem om een set documenten gesynchroniseerd met een origineel te bewaren.
Het script ondersteunt zowel het hardcoderen van een URL als het leveren van een URL vanaf de opdrachtregel (bijv. UpdateFromWeb http://source.site.com/Stuff.zip), dus gebruik uw verbeeldingskracht.
Het script
@ECHO OFF TITLE Update van Web ECHO Update van Web ECHO Geschreven door: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. SETLOCAL EnableExtensions REM Plaats dit script in de map die de te updaten hulpprogramma's bevat. REM Vereist dat WGet zich in dezelfde map bevindt als dit script of op een locatie die is ingesteld in de variabele PATH. REM-URL om updates op te zoeken in het geval er geen is opgegeven als parameter. REM URL's van belang --- REM Sysinternals: http://live.sysinternals.com/tools REM NirSoft: http://www.nirsoft.net/panel SET URL = http: //my.site.com/ToolsFolder REM Als een parameter is opgegeven, gebruikt u die als de URL. INDIEN NIET % 1 == SET URL =% ~ 1 REM Stel deze waarde in op 1 om taken die zijn gestopt tijdens het updateproces opnieuw te starten. SET RestartKilledTasks = 0 ECHO Gedetecteerde map:% ~ dp0% ~ d0 CD% ~ p0 ECHO. ECHO. SET NewFile = .NEW FOR / F %% A IN ('DIR / B') DO WGet --output-document = "%% A% NewFile%" "% URL% / %% A" REM Verwijderen leeg (niet gevonden ) bestanden. FORFILES / P. / C "CMD / C IF @ fsize == 0 DEL / F / Q @path" SET StartWhenFinished = "% TEMP% StartWhenFinished.tmp.txt" ECHO; beëindigde tools>% StartWhenFinished% FOR / F %% A IN (' DIR / B ') DO (ALS BESTAANDE "%% A% NewFile%" (ECHO Gevonden nieuwe versie van: %% A REM Als het bestand wordt uitgevoerd, kill het dan zodat het kan worden vervangen.) FOR / F %% B IN ( 'TASKLIST') DO (ALS / I [%% A] == [%% B] (ECHO %% B is momenteel actief, dodingsproces. ECHO %% A >>% StartWanneer voltooid% TASKKILL / IM "%% B" / T / F)) REM Vervang door de nieuwe versie DEL / F / Q "%% A" RENAME "%% A% NewFile%" "%% A")) ALS % RestartKilledTasks% == 1 (ECHO ECHO Gedode taken hervatten FOR / F "usebackq skip = 1" %% A IN (% StartWhenFinished%) DO (ECHO Starting %% A START "Opnieuw starten van %% A" "%% A")) IF EXIST "% StartWhenFinished% "DEL"% StartWhenFinished% "ENDLOCAL
Links
Download UpdateFromWeb Script van SysadminGeek.com
WGet downloaden