3Sep

Erstellen Sie Ihr eigenes automatisiertes Dateiaktualisierungssystem

click fraud protection

Jeder Serveradministrator verfügt über eine Reihe von Hilfsprogrammen, die er verwenden möchte. In der Regel werden diese Tools auf jeder Maschine gespeichert, um die Verfügbarkeit zu gewährleisten. Sie können aus verschiedenen Quellen stammen, z. B. Sysinternals und Nirsoft.

Um diese Tools auf die neuesten Versionen zu aktualisieren, kann die manuelle Aktualisierung ziemlich mühsam und zeitraubend sein, insbesondere wenn mehrere Server im Mix sind. Wir haben also eine Lösung für Sie: Eine einfach zu installierende Lösung, bei der Sie einen einzigen Werkzeugsatz pflegen und alle Ihre Maschinen die Versionen ihrer Werkzeuge mit diesem Standort synchronisieren.

Angenommen, Sie warten Systeme in 3 separaten Netzwerken und möchten, dass auf allen diesen Maschinen die gleichen zehn Werkzeuge für Skripts und Wartung verfügbar sind. Sie verfügen über einen Master-Ordner mit Tools( über eine Website verfügbar), in dem Sie die Release-Versionen verwalten, die Sie an alle Ihre Systeme verteilen möchten. Alle anderen Systeme rufen dann diesen Master-Ordner an und laden die entsprechende Version lokal herunter. Dieser Prozess stellt eine automatisierte Lösung bereit, um sicherzustellen, dass Ihre Dienstprogrammversionen auf allen Ihren Systemen konsistent sind.

instagram viewer

Einrichten der Umgebung

Die Umgebung, in der dies funktioniert, ist ziemlich einfach einzurichten und, wenn Sie fertig sind, ist es wirklich eine Lösung "Setzen Sie es und vergessen Sie es".

  1. Erstellen Sie einen Ordner innerhalb einer Website, auf die Sie zugreifen können, um den Server als Hauptordner( d. H. ToolsFolder) zu verwenden.
  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 folgende Script in den lokalen Ordner, der die Tools enthält( und WGet, falls Sie es noch nicht haben).
  4. Aktualisieren Sie die URL zu Ihrem Hauptordner( d. H. Http: //my.site.com/ ToolsFolder).
  5. Planen Sie die Ausführung des Skripts in regelmäßigen Abständen und alle lokalen Tools, die auf der Master-Site vorhanden sind, werden synchronisiert.

Alternate verwendet

Während wir einen praktischen Nutzen behandelt haben, den ein Systemadministrator für diese Art von Skript haben kann, gibt es viele andere Situationen, in denen dieses Skript nützlich sein kann:

  • Zum Aktualisieren von Sysinternals und Nirsoft-Dienstprogrammen auf lokalen Maschinen( URLs sind enthaltenim Skript).
  • Verwenden Sie auf einem Desktop-System, um eine Reihe von Dokumenten mit einer Masterkopie synchronisiert zu halten.

Das Skript unterstützt sowohl das Festcodieren einer URL als auch das Bereitstellen eines von der Befehlszeile( d. H. UpdateFromWeb http: //source.site.com/ Stuff.zip), also nutzen Sie Ihre Vorstellungskraft.

Das Skript

@ECHO OFF TITLE Update von Web ECHO Update von 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 in einer Position befindet, die in der PATH-Variablen festgelegt ist. REM-URL, um nach Aktualisierungen zu suchen, 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 Legen Sie diesen Wert auf 1 fest, 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 FÜR / F %% A IN( 'DIR / B') DO WGet --output-dokument = "%% A% NewFile%" "% URL% / %% A" REM Löschen leer( nicht gefunden) Dateien. FORFILE / P./ C "CMD / C IF @ fsize == 0 DEL / F / Q @pfad" SET StartWhenFinished = "% TEMP% StartWhenFinished.tmp.txt" ECHO; Beendete Tools & gt;% StartWhenFinished% FOR / F %% A IN( 'DIR / B') TUN( WENN EXIST "%% A% NewFile%"( ECHO Neue Version von: %% A REM gefunden Wenn die Datei läuft, kill sie sokann ersetzt werden FOR / F %% B IN( 'TASKLISTE') DO( IF / I [%% A] == [%% B]( ECHO %% B läuft gerade, Tötungsprozess. ECHO %% A & gt; & gt;% 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 Wiederaufgenommene Tasks FOR / F" usebackq skip = 1 "%% A IN( % StartWhenFinished%) DO( ECHO Start %% A START" Restart%% A "" %% A ")) IF EXIST"% StartWhenFinished% "DEL"% StartWhenFinished% "ENDLOKAL

Verknüpfungen

UpdateFromWeb Script von SysadminGeek.com herunterladen

WGet

herunterladen