Byg dit eget automatiserede filopdateringssystem
Hver serveradministrator har et sæt hjælpeprogrammer, som de gerne vil bruge. Disse værktøjer holdes typisk på hver maskine for at sikre tilgængelighed og kan komme fra en række forskellige kilder som Sysinternals og Nirsoft.
For at holde disse værktøjer opdateret til de nyeste versioner, kan manuelt opdatering være ganske kedelig og tidskrævende, især når der er flere servere i mixen. Så vi har en løsning til dig: En simpel opsætning løsning, hvor du opretholder et enkelt sæt værktøjer og alle dine maskiner synkroniserer versionerne af deres værktøjer til denne placering.
Antag for eksempel at du vedligeholder systemer på 3 separate netværk og har samme sæt med 10 værktøjer til rådighed på alle disse maskiner til scripts og vedligeholdelse. Du vil have en hovedmappe af værktøjer (tilgængelig via et websted), hvor du opretholder de udgivelsesversioner, du vil distribuere til alle dine systemer. Alle dine andre systemer "telefon hjem" til denne master mappe og download den respektive version lokalt. Denne proces giver en automatiseret løsning, der altid sikrer, at dine anvendelsesversioner er ensartede på tværs af alle dine systemer.
Indstilling af miljøet
Miljøet for dette til at arbejde er temmelig let at oprette, og når det er gjort, er det virkelig en "sæt det og glem det" løsning.
- Opret en mappe inde på et websted, hvor du har adgang til hvilken vil server som master mappe (dvs. ToolsFolder).
- Upload alle dine almindelige hjælpeprogrammer til denne mappe.
- På de servere, du vil synkronisere til masterwebstedet, skal du placere scriptet nedenfor i den lokale mappe, som indeholder værktøjerne (og WGet, hvis du ikke allerede har det).
- Opdater webadressen til din master mappe (dvs. http://my.site.com/ToolsFolder).
- Planlæg scriptet til at køre med jævne mellemrum, og alle de lokale værktøjer, der findes på masterwebstedet, bliver synkroniseret.
Alternative anvendelser
Selvom vi har dækket en praktisk brug, kan en systemadministrator have til denne type script, der er mange andre situationer, hvor dette script kan komme til nytte:
- Brug til at opdatere Sysinternals og Nirsoft-hjælpeprogrammer på lokale maskiner (URL'er er inkluderet i scriptet).
- Brug på et stationært system til at holde et sæt dokumenter synkroniseret med en master kopi.
Scriptet understøtter både hardcoding en URL samt leverer en fra kommandolinjen (dvs. UpdateFromWeb http://source.site.com/Stuff.zip), så brug din fantasi.
Manuskriptet
@ECHO OFF TITLE Opdatering fra Web ECHO Update fra Web ECHO Skrevet af: Jason Faulkner ECHO SysadminGeek.com ECHO. EKKO. SETLOCAL EnableExtensions REM Placer dette script i mappen, som indeholder de værktøjer, der skal opdateres. REM Kræver, at WGet skal være i samme mappe som dette script eller på et sted i PATH-variablen. REM URL for at søge efter opdateringer i tilfælde af, at ingen er angivet som en parameter. REM URLs af 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 angivet, skal du bruge den som URL. HVIS IKKE % 1 == SET URL =% ~ 1 REM Indstil denne værdi til 1 for at genstarte opgaver, der stoppes under opdateringsprocessen. SET RestartKilledTasks = 0 ECHO Opdaget bibliotek:% ~ dp0% ~ d0 CD% ~ p0 ECHO. EKKO. SET NewFile = .NYW FOR / F %% A IN ('DIR / B') Gør WGet --output-document = "%% A% NewFile%" "% URL% / %% A" REM Slet tom (ikke fundet ) filer. FORFILES / P. / C "CMD / C IF @ fsize == 0 DEL / F / Q @ pad" SET StartWhenFinished = "% TEMP% StartWhenFinished.tmp.txt" ECHO; Afslutte værktøjer>% StartFinished% FOR / F %% A IN DIR / B ') DO (hvis EXIST "%% A% NewFile%" (ECHO fundet ny version af: %% A REM Hvis filen kører, skal du dræbe den, så den kan erstattes. FOR / F %% B IN 'TASKLIST') DO (IF / I [%% A] == [%% B] (ECHO %% B kører i øjeblikket, dræbte proces. ECHO %% A >>% StartNårFineret% TASKKILL / IM "%% B" / T / F)) REM Udskift med den nye version. DEL / F / Q "%% A" RENAME "%% A% NewFile%" "%% A")) HVIS % RestartKilledTasks% == 1 (ECHO Start%% A START "Genstart %% A" "%% A")) HVIS EXIS "% E" StartWhenFinished% "DEL"% StartWhenFinished% "ENDLOCAL
Links
Download UpdateFromWeb Script fra SysadminGeek.com
Download WGet