Startseite » wie man » Bauen Sie Ihr eigenes automatisiertes Datei-Update-System auf

    Bauen Sie Ihr eigenes automatisiertes Datei-Update-System auf

    Jeder Serveradministrator verfügt über eine Reihe von Dienstprogrammen, die er gerne verwendet. Normalerweise werden diese Tools auf jeder Maschine aufbewahrt, um die Verfügbarkeit zu gewährleisten, und können aus verschiedenen Quellen stammen, z. B. Sysinternals und Nirsoft.

    Um diese Tools auf dem neuesten Stand zu halten, kann das manuelle Update recht mühsam und zeitaufwändig sein, insbesondere wenn mehrere Server im Mix enthalten sind. Wir haben also eine Lösung für Sie: Eine einfach einzurichtende Lösung, bei der Sie einen einzigen Satz von Tools verwalten und alle Ihre Maschinen die Versionen ihrer Tools mit diesem Speicherort synchronisieren.

    Nehmen Sie beispielsweise an, Sie pflegen Systeme in 3 separaten Netzwerken und möchten auf allen Maschinen denselben Satz von 10 Tools für Skripte und Wartung verfügbar machen. Sie hätten einen Master-Ordner mit Tools (verfügbar über eine Website), in dem Sie die Versionsversionen verwalten, die auf allen Ihren Systemen verteilt werden sollen. Alle anderen Systeme „telefonieren“ dann in diesen Masterordner und laden die jeweilige Version lokal herunter. Dieser Prozess bietet eine automatisierte Lösung, um sicherzustellen, dass Ihre Versionsversionen in allen Ihren Systemen konsistent sind.

    Umgebung einrichten

    Die Umgebung, in der dies funktioniert, ist ziemlich einfach einzurichten und ist, wenn Sie fertig sind, wirklich eine Lösung für das Festlegen und Vergessen.

    1. Erstellen Sie einen Ordner innerhalb einer Website, auf die Sie als Master-Ordner zugreifen können (d. H. ToolsFolder)..
    2. Laden Sie alle Ihre üblichen Dienstprogramme in diesen Ordner hoch.
    3. Platzieren Sie auf den Servern, die Sie mit der Master-Site synchronisieren möchten, das Skript unten in dem lokalen Ordner, in dem sich die Tools befinden (und WGet, wenn Sie es noch nicht haben)..
    4. Aktualisieren Sie die URL in Ihrem Hauptordner (d. H. Http://my.site.com/ToolsFolder)..
    5. Planen Sie die regelmäßige Ausführung des Skripts, und alle lokalen Tools, die auf der Master-Site vorhanden sind, werden synchronisiert.

    Alternative Verwendungen

    Während wir uns mit einer praktischen Verwendung eines Systemadministrators für diese Art von Skript befasst haben, gibt es viele andere Situationen, in denen dieses Skript nützlich sein kann:

    • Zum Aktualisieren von Sysinternals- und Nirsoft-Dienstprogrammen auf lokalen Computern (URLs sind im Skript enthalten).
    • Auf einem Desktopsystem verwenden, um einen Satz von Dokumenten mit einer Masterkopie zu synchronisieren.

    Das Skript unterstützt sowohl das Festcodieren einer URL als auch das Bereitstellen einer URL über die Befehlszeile (d. H. UpdateFromWeb http://source.site.com/Stuff.zip). Nutzen Sie Ihre Vorstellungskraft.

    Das Skript

    @ ECHO OFF TITLE Update vom Web ECHO Update vom Web ECHO Geschrieben von: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. SETLOCAL EnableExtensions REM Platzieren Sie dieses Skript in dem Ordner, der die zu aktualisierenden Dienstprogramme enthält. REM Erfordert, dass sich WGet im selben Ordner wie dieses Skript oder an einem in der PATH-Variablen festgelegten Ort befindet. REM-URL, nach der nach Updates gesucht werden soll, wenn keiner als Parameter angegeben ist. REM-URLs von Interesse --- REM-Sysinternals: http://live.sysinternals.com/tools REM NirSoft: http://www.nirsoft.net/panel SET-URL = http: //my.site.com/ToolsFolder REM Wenn ein Parameter angegeben ist, verwenden Sie diesen als URL. IF NOT % 1 ==  SET URL =% ~ 1 REM Setzen Sie diesen Wert auf 1, um Tasks neu zu starten, die während des Aktualisierungsvorgangs angehalten wurden. SET RestartKilledTasks = 0 ECHO Erkanntes Verzeichnis:% ~ dp0% ~ d0 CD% ~ p0 ECHO. ECHO. SET NewFile = .NEW FOR / F %% A IN ('DIR / B') DO WGet --output-document = "%% A% NewFile%" "% URL% / %% A" REM Löschen leer (nicht gefunden ) Dateien. FORFILES / P. / C "CMD / C IF @ fsize == 0 DEL / F / Q @path" SET StartWhenFinished = "% TEMP% StartWhenFinished.tmp.txt" ECHO; Beendete Werkzeuge>% StartWhenFinished% FOR / F %% A IN (' DIR / B ') DO (IF EXIST "%% A% NewFile%" (ECHO Neue Version gefunden von: %% A REM Wenn die Datei ausgeführt wird, beenden Sie sie, damit sie ersetzt werden kann. FOR / F %% B IN ( 'TASKLIST') DO (IF / I [%% A] == [%% B] (ECHO %% B wird gerade ausgeführt und beendet den Prozess. ECHO %% A >>% StartWhenFinished% TASKKILL / IM "%% B") / T / F)) REM Ersetzen durch die neue Version DEL / F / Q "%% A" RENAME "%% A% NewFile%" "%% A")) IF % RestartKilledTasks% == 1 (ECHO. ECHO Beendete Aufgaben fortsetzen FOR / F "usebackq überspringen = 1" %% A IN (% StartWhenFinished%) DO (ECHO Starten von %% A START "%% A starten" %% A ")) IF EXIST"% StartWhenFinished% "DEL"% StartWhenFinished% "ENDLOCAL 

    Links

    Laden Sie UpdateFromWeb Script von SysadminGeek.com herunter

    WGet herunterladen