PC & Handy

Windows-Batch-Skript zum Sichern von Daten

Computerbenutzer, die mit fortgeschrittenen Mac- und Windows-Computern aufgewachsen sind, wissen es vielleicht nicht, aber vor langer Zeit wurden alle PCs über eine Befehlszeilenschnittstelle gesteuert. Ja, dieses klobige Befehlsfeld auf Ihrem Windows-Rechner war buchstäblich die einzige Möglichkeit, mit der die meisten Menschen jemals mit einem Computer interagierten. Befehlszeilenschnittstellen stützten sich stark auf kleine Programme namens „Skripte“, bei denen es sich um Sammlungen von Betriebssystembefehlen handelte, die zur Ausführung allgemeiner Aufgaben verwendet wurden.

Obwohl die grafischen Benutzeroberflächen heutiger PCs Lichtjahre ausgefeilter und einfacher zu bedienen sind als die alten Befehlszeilen, gibt es immer noch Verwendungen für die ältere Methode zur Steuerung Ihres Computers. Eine der gebräuchlichsten und am besten geeigneten Anwendungen für ein Befehlszeilenskript ist die Datensicherung. Befehlszeilenskripte können automatisiert werden, um jederzeit ohne menschliche Interaktion ausgeführt zu werden und haben nur wenige Einschränkungen. Das Beste von allem – sie sind ein integrierter Bestandteil des Windows-Betriebssystems.

Warum Befehlszeilenskripte?

Warum ein Befehlszeilenskript verwenden, wenn es sowohl kommerzielle als auch kostenlose Backup-Programme gibt? Nun, Befehlszeilenskripte haben eine Reihe einzigartiger Vorteile. Hier sind einige davon:

  • Native Befehle : Gibt es einen besseren Weg, um Daten zu sichern, als die Funktionen zu verwenden, die durch das Programm zur Verfügung gestellt werden, das die Daten erstellt? Ob es sich dabei um das Betriebssystem selbst über einen einfachen Dateikopierbefehl oder um einen Datenbankbefehl zum Erstellen einer wiederherstellbaren Binärdatei handelt, das Quellprogramm weiß am besten, wie es sich selbst sichert.
  • Ultimative Kontrolle : Da ein Befehlszeilenskript einem einfachen Schritt-für-Schritt-Verfahren folgt, wissen Sie genau, was passiert und können das Verhalten leicht ändern.
  • Schnell : Da alles ein nativer Befehl ist, unterliegt nichts der Interpretation. Auch hier verwenden Sie Befehle, die vom Programm selbst bereitgestellt werden, sodass der Overhead auf ein Minimum beschränkt wird.
  • Leistungsstark : Ich habe noch keine Backup-Aufgabe gesehen, die nicht über ein Befehlszeilenskript ausgeführt werden kann ... und ich habe einige funky Sachen gemacht. Obwohl Sie möglicherweise einige Recherchen und Versuche durchführen müssen, wenn Sie wirklich einzigartige Anforderungen haben, sind die integrierten Funktionen und Merkmale der von Ihnen verwendeten Skriptsprache in der Regel mehr als ausreichend.
  • Kostenlos und flexibel : Offensichtlich kostet ein Befehlszeilenskript nichts (außer der Zeit, es zu entwickeln), sodass Sie Ihre Skripte mit wenig bis gar keinem Zeit- oder Kostenaufwand auf eine beliebige Anzahl von Maschinen und Systemen kopieren können. Vergleichen Sie dies mit den Kosten für den Kauf von Lizenzen für Backup-Software auf mehreren Servern und/oder Desktop-Rechnern.

Ein kurzer Überblick über das Backup-Batch-Skript

Die meisten Leute haben nie gelernt, Befehlszeilenskripte zu verwenden, und es wird als eine Art „schwarze Kunst“ angesehen. Es ist jedoch eigentlich ziemlich einfach zu lernen. Um die Leistungsfähigkeit der Befehlszeile zu demonstrieren, stelle ich ein einfaches Windows-Batch-Skript bereit, mit dem Sie Ihre wichtigen Daten sichern können. Dieses konfigurierbare und anpassbare Skript erfordert keine Kenntnisse (oder Lernbereitschaft) der Windows-Batch-Skriptsprache. Wenn Sie jedoch mehr über Windows-Batch-Skripting erfahren möchten, ist dieses Skript ein guter Ausgangspunkt .

Was das Backup-Skript macht:

  1. Erstellt vollständige oder tägliche inkrementelle (Definition siehe unten) Backups von Dateien und Ordnern, die Sie in einer separaten Konfigurationstextdatei angeben (siehe unten).
    • Wenn ein Ordner benannt wird, werden dieser Ordner und alle Unterordner gesichert.
    • Wenn eine Datei benannt wird, wird nur diese Datei gesichert.
  2. Komprimiert (zip) die gesicherten Dateien. Nachdem alle zu sichernden Dateien kopiert wurden, werden sie komprimiert, um Platz zu sparen. 7-Zip muss auf Ihrem System installiert sein, damit dies funktioniert.
  3. Datiert die komprimierte Datei und verschiebt sie an einen Speicherort. Nachdem die Sicherungsdateien komprimiert wurden, erhält das resultierende Archiv einen Dateinamen entsprechend dem aktuellen Datum und wird dann an einen konfigurierten Speicherort verschoben, z. B. auf ein externes Laufwerk oder einen Netzwerkspeicherort.
  4. Reinigt von selbst. Nachdem alle Aufgaben abgeschlossen sind, bereinigt das Batch-Skript alle erstellten temporären Dateien.

Anforderungen:

Windows 2000/XP/2003/Vista oder neuer

7-Zip (kostenlos)

Konfigurationsdatei:

Die Konfigurationsdatei ist einfach eine Textdatei, die Dateien und Ordner zum Sichern enthält, in die ein Sicherungselement pro Zeile eingegeben wird. Diese Datei muss „BackupConfig.txt“ heißen und sich im selben Ordner wie das Backup-Skript befinden. Hier ist ein Beispiel für eine BackupConfig.txt-Datei (beachten Sie, dass das Zeichen „#“ in der ersten Zeile anzeigt, dass die Zeile ein Kommentar ist; Kommentare werden bei der Ausführung des Skripts immer ignoriert):

# Geben Sie Datei- und Ordnernamen ein, einen pro Zeile.

C:Dokumente und EinstellungenJason FaulknerDesktop C:Dokumente und EinstellungenJason FaulknerMeine DokumenteWichtige Dateien C:ScriptsBackupScript.bat

Das obige Beispiel würde den Desktop des Windows-Benutzers Jason Faulkner (und alle Ordner auf dem Desktop), den Ordner „Important Files“ in Eigene Dateien (und alle Ordner in „Important Files“) und die Datei „BackupScript.bat“ darin sichern das Verzeichnis C:Scripts.

Arten von Backups:

  • Vollständige Sicherung: Eine vollständige Kopie aller Dateien und Ordner (einschließlich Unterordner) ist in der Sicherung enthalten.
  • Inkrementelles Backup: Wenn ein Ordner bereitgestellt wird, werden nur Dateien erstellt oder geändert auf dem aktuelles Datum sind

    Gesichert. Wenn eine Datei bereitgestellt wird, wird sie immer gesichert, unabhängig davon, wann sie geändert wurde.

Das Windows-Batch-Skript zur Datensicherung

Ich möchte betonen, dass dieses Skript sehr einfach ist, da es nur Backups erstellt, indem es eine einfache Dateikopie verwendet. Es gibt einige Konfigurationsoptionen, die Sie einstellen können:

  • Der Sicherungsspeicherort, an dem die resultierenden komprimierten Sicherungsdateien gespeichert werden.
  • Der Wochentag, an dem die vollständige Sicherung ausgeführt wird (an jedem anderen Tag würde eine inkrementelle Sicherung ausgeführt).
  • Speicherort, an dem 7-Zip auf Ihrem Computer installiert ist. Das Skript wird automatisch so eingestellt, dass es am Standardspeicherort sucht.

Wenn Sie Vorschläge oder Funktionswünsche haben, kommentieren Sie bitte unten. Ich würde wirklich gerne einen Folgeartikel zu diesem Beitrag schreiben, der ein aktualisiertes Skript enthält, das auf Lesereingaben basiert. Wenn Sie Anweisungen zum „Verwenden“ dieses Skripts oder zum Einrichten einer geplanten Aufgabe benötigen, sehen Sie sich die Links unter der Skriptquelle an.

Hier ist es ohne weiteres:

Notiz: Da die Anführungszeichen unten nicht richtig angezeigt werden (und dadurch das Skript durcheinander bringen können), habe ich unter dem Skript einen Klartext-Link eingefügt, mit dem Sie eine genaue Quelle zum Kopieren erhalten können.

@ECHO OFF REM BackupScript REM Version 1.01 Aktualisiert: 2008-05-21 REM Von Jason Faulkner (articles[-at-]132solutions.com) REM Führt vollständige oder inkrementelle Backups von Ordnern und Dateien durch, die vom Benutzer konfiguriert wurden. REM-Verwendung--- REM > BackupScript SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION REM ---Konfigurationsoptionen--- REM Ordner, in dem das resultierende Backup-Archiv gespeichert werden soll. REM Dieser Ordner muss vorhanden sein. Setzen Sie kein '' am Ende, dies wird automatisch hinzugefügt. REM Sie können einen lokalen Pfad, einen externen Laufwerksbuchstaben (zB F:) oder einen Netzwerkspeicherort (zB \serverbackups) eingeben. SET BackupStorage=C:Backup REM An welchem ​​Wochentag möchten Sie eine vollständige Sicherung durchführen? REM Geben Sie eine der folgenden Optionen ein: So, Mo, Di, Mi, Do, Fr, Sa, * REM An jedem anderen Wochentag als dem unten angegebenen wird ein inkrementelles Backup ausgeführt. REM Wenn Sie '*' eingeben, wird jedes Mal eine vollständige Sicherung ausgeführt. SET FullBackupDay=* REM Speicherort, an dem 7-Zip auf Ihrem Computer installiert ist. REM Die Standardeinstellung befindet sich in einem Ordner, '7-Zip' in Ihrem Programmdateien-Verzeichnis. SET InstallLocationOf7Zip=%ProgramFiles%7-Zip REM +------------------------------------------ --------------------------------+ REM | Ändern Sie hier nichts, es sei denn, Sie wissen, was Sie tun. | REM +------------------------------------------------ -----------------------+ REM-Verwendungsvariablen. SET exe7Zip=%InstallLocationOf7Zip%7z.exe SET dirTempBackup=%TEMP%backup SET filBackupConfig=BackupConfig.txt REM-Validierung. IF NOT EXIST %filBackupConfig% ( ECHO Keine Konfigurationsdatei gefunden, fehlt: %filBackupConfig% GOTO End ) IF NOT EXIST "%exe7Zip%" ( ECHO 7-Zip ist nicht installiert im Verzeichnis: %dir7Zip% ECHO Bitte aktualisieren Sie das Verzeichnis, in dem 7-Zip ist installiert GOTO Ende ) REM Backup-Variablen. FOR /f "tokens=1,2,3,4 delims=/ " %%a IN ('date /t') DO ( SET DayOfWeek=%%a SET NowDate=%%d-%%b-%%c SET FileDate=%%b-%%c-%%d ) IF {%FullBackupDay%}=={*} SET FullBackupDay=%DayOfWeek% IF /i {%FullBackupDay%}=={%DayOfWeek%} ( SET txtBackup =Vollständig SET swXCopy=/e ) ELSE ( SET txtBackup=Inkrementell SET swXCopy=/s /d:%FileDate% ) ECHO Beginnt mit dem Kopieren von Dateien. WENN NICHT EXIST "%dirTempBackup%" MKDIR "%dirTempBackup%" FOR /f "skip=1 Token=*" %%A IN (%filBackupConfig%) DO ( SET Current=%%~A IF NOT EXIST "!Current! " ( ECHO ERROR! Not found: !Current! ) ELSE ( ECHO Copying: !Current! SET Destination=%dirTempBackup%!Current:~0,1!%%~pnxA REM Ermitteln, ob der Eintrag eine Datei oder ein Verzeichnis ist. IF "%%~xA"=="" ( REM Directory. XCOPY "!Current!" "!Destination!" /v /c /i /g /h /q /r /y %swXCopy% ) ELSE ( REM File. COPY /v /y "!Aktuell!" "!Ziel!" ) ) ) ECHO Kopieren der Dateien abgeschlossen. ECHO. SET BackupFileDestination=%BackupStorage%Backup_%FileDate%_%txtBackup%.zip REM Wenn die Sicherungsdatei vorhanden ist, entfernen Sie sie zugunsten der neuen Datei. IF EXIST "%BackupFileDestination%" DEL /f /q "%BackupFileDestination%" ECHO Komprimieren von gesicherten Dateien. (Neues Fenster) REM Dateien mit 7-Zip in einem Prozess mit niedrigerer Priorität komprimieren. START "Backup komprimieren. NICHT SCHLIESSEN" /belownormal /wait "%exe7Zip%" a -tzip -r -mx5 "%BackupFileDestination%" "%dirTempBackup%" ECHO Komprimierung der gesicherten Dateien abgeschlossen. ECHO. ECHO Aufräumen. IF EXIST "%dirTempBackup%" RMDIR /s /q "%dirTempBackup%" ECHO. :Ende ECHO Fertig. ECHO. ENDLOKAL

Eine Klartextquelle ist hier verfügbar: Backup

Wenn Sie Hilfe bei der Implementierung dieses Skripts benötigen, finden Sie hier einige Links, die Ihnen helfen:

  • So erstellen Sie eine Batch-Datei
  • So erstellen Sie eine geplante Windows-Aufgabe

Dies ist das gleiche Skript, das ich täglich verwende, um meinen Computer zu sichern (natürlich mit ein paar Änderungen), daher weiß ich, dass es sehr gut funktioniert. Ich hoffe, Sie finden es nützlich.

Genießen!

$config[zx-auto] not found$config[zx-overlay] not found