Rakenna oma automaattinen tiedostojen päivitysjärjestelmä
Jokaisella palvelimen pääkäyttäjällä on joukko apuohjelmia, joita he haluavat käyttää. Tyypillisesti näitä työkaluja pidetään kussakin koneessa käytettävyyden varmistamiseksi ja ne voivat tulla useista eri lähteistä, kuten Sysinternals ja Nirsoft.
Jos haluat pitää nämä työkalut ajan tasalla uusimmissa versioissa, manuaalinen päivittäminen voi olla varsin ikävä ja aikaa vievä, varsinkin kun yhdistelmässä on useita palvelimia. Niinpä meillä on ratkaisu sinulle: helppo asentaa ratkaisu, jossa ylläpidät yhden työkalurivin ja kaikki koneet synkronoivat työkalujensa versiot tähän paikkaan.
Oletetaan esimerkiksi, että ylläpidät järjestelmiä kolmessa erillisessä verkossa ja haluat käyttää samaa joukkoa 10 työkalua kaikissa näissä koneissa skriptejä ja ylläpitoa varten. Sinulla olisi työkalujen pääkansio (saatavilla verkkosivuston kautta), jossa säilytät haluamasi levitysversiot kaikille järjestelmille. Kaikki muut järjestelmät “puhuvat kotiin” tähän pääkansioon ja lataavat vastaavan version paikallisesti. Tämä prosessi tarjoaa automatisoidun ratkaisun aina varmistamaan, että apuohjelmaversiot ovat yhdenmukaisia kaikissa järjestelmissä.
Ympäristön asettaminen
Tämän työympäristön luominen on melko helppoa, ja kun se on tehty, se on todella "asettanut ja unohda" ratkaisu.
- Luo kansio verkkosivuston sisällä, johon sinulla on pääsy palvelimeen pääkansioksi (eli ToolsFolder).
- Lataa kaikki tavalliset apuohjelmat tähän kansioon.
- Aseta palvelin, jonka haluat synkronoida pääsivustoon, alla olevan komentosarjan paikalliseen kansioon, jossa on työkalut (ja WGet, jos sinulla ei ole sitä jo).
- Päivitä pääkansiosi URL-osoite (eli http://my.site.com/ToolsFolder).
- Ajastetaan skripti ajoittain ja kaikki paikalliset työkalut, jotka ovat päällä-sivustossa, synkronoidaan.
Vaihtoehtoiset käyttötavat
Vaikka olemme käsitelleet käytännön käyttöjärjestelmän järjestelmänvalvojaa tämäntyyppiselle komentosarjalle, on monia muita tilanteita, joissa tämä komentosarja voi olla kätevä:
- Käytä päivittämään Sysinternals- ja Nirsoft-apuohjelmia paikallisissa koneissa (URL-osoitteet sisältyvät komentosarjaan).
- Käytä työpöydän järjestelmää pitämään joukko asiakirjoja synkronoituna master-kopion kanssa.
Skripti tukee sekä URL-osoitteiden koodausta että sen toimittamista komentoriviltä (ts. UpdateFromWeb http://source.site.com/Stuff.zip), joten käytä mielikuvitustasi.
Käsikirjoitus
@ECHO OFF TITLE Päivitys Web ECHOn päivityksestä Web ECHO: sta Kirjoittanut: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. SETLOCAL EnableExtensions REM Aseta tämä komentosarja kansioon, joka sisältää päivitettäviä apuohjelmia. REM edellyttää, että WGet on samassa kansiossa kuin tämä komentosarja tai PATH-muuttujaan asetetussa paikassa. REM-URL-osoite, jos haluat etsiä päivityksiä siinä tapauksessa, että mitään ei ole määritetty parametriksi. REM-URL-osoite kiinnostava --- REM Sysinternals: http://live.sysinternals.com/tools REM NirSoft: http://www.nirsoft.net/panel SET URL = http: //my.site.com/ToolsFolder REM Jos parametri on määritetty, käytä sitä URL-osoitteena. JOS EI % 1 == SET URL =% ~ 1 REM Aseta tämä arvo arvoon 1, jos haluat käynnistää päivitysprosessin aikana pysäytetyt tehtävät uudelleen. SET RestartKilledTasks = 0 ECHO havaittu hakemisto:% ~ dp0% ~ d0 CD% ~ p0 ECHO. ECHO. SET NewFile = .NEW FOR / F %% A IN ('DIR / B') DO WGet --output-document = "%% A% NewFile%" "% URL% / %% A" REM Poista tyhjä (ei löydy ) tiedostot. FORFILES / P. / C "CMD / C IF @ fsize == 0 DEL / F / Q @ polku" SET StartWhenFinished = "% TEMP% StartWhenFinished.tmp.txt" ECHO; päättyvät työkalut>% StartWhenFinished% FOR / F %% A IN (' DIR / B ') DO (JOS EXIST "%% A% NewFile%" (ECHO Löysi uuden version: %% A REM Jos tiedosto on käynnissä, tappaa se niin, että se voidaan vaihtaa. FOR / F %% B IN ( 'TASKLIST') DO (IF / I [%% A] == [%% B] (ECHO %% B on parhaillaan käynnissä, tappaminen. ECHO %% A >>% StartWhenFinished% TASKKILL / IM "%% B" / T / F)) REM Korvaa uudella versiolla DEL / F / Q "%% A" RENAME "%% A% NewFile%" "%% A")) IF % RestartKilledTasks% == 1 (ECHO. ECHO Jatka tappettujen tehtävien jatkaminen FOR / F "usebackq skip = 1" %% A IN (% StartWhenFinished%) DO (ECHO: n aloitus %% A START "%% A: n uudelleen käynnistäminen" %% A ")) JOS EXIST"% StartWhenFinished% "DEL"% StartWhenFinished% "ENDLOCAL
Linkit
Lataa UpdateFromWeb Script SysadminGeek.comista
Lataa WGet