Anonim

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-Computer war früher buchstäblich die einzige Möglichkeit, wie die meisten Menschen jemals mit einem Computer interagierten. Befehlszeilenschnittstellen stützten sich in hohem Maße auf kleine Programme, die als "Skripte" bezeichnet wurden und eine Sammlung von Betriebssystembefehlen darstellten, die zum Ausführen allgemeiner Aufgaben verwendet wurden.

Obwohl die grafischen Benutzeroberflächen der heutigen PCs um Lichtjahre ausgefeilter und benutzerfreundlicher sind als die alten Befehlszeilen, gibt es immer noch Verwendungen für die ältere Methode zur Steuerung Ihres Computers. Eine der häufigsten und am besten geeigneten Anwendungen für ein Befehlszeilenskript ist die Datensicherung. Befehlszeilenskripte können so automatisiert werden, dass sie jederzeit ohne menschliche Interaktion ausgeführt werden können, und weisen nur wenige Einschränkungen auf. Das Beste daran: Sie sind ein fester Bestandteil des Windows-Betriebssystems.

Warum Befehlszeilenskripte?

Warum ein Befehlszeilenskript verwenden, wenn es kommerzielle und kostenlose Sicherungsprogramme gibt? Befehlszeilenskripte bieten 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 bereitgestellt werden, das die Daten erstellt? Ob dies das Betriebssystem selbst über einen einfachen Dateikopierbefehl oder einen Datenbankbefehl zum Erstellen einer wiederherstellbaren Binärdatei ist, das Quellprogramm weiß am besten, wie es sich selbst sichert.
  • Ultimative Kontrolle : Da ein Befehlszeilenskript einer einfachen schrittweisen Prozedur folgt, wissen Sie genau, was passiert, und können das Verhalten leicht ändern.
  • Schnell : Da alles ein nativer Befehl ist, kann nichts interpretiert werden. Auch hier verwenden Sie Befehle, die vom Programm selbst bereitgestellt werden, um den Overhead auf ein Minimum zu beschränken.
  • Leistungsstark : Ich habe noch keine Sicherungsaufgabe gefunden, die nicht über ein Befehlszeilenskript ausgeführt werden kann. Außerdem habe ich einige kuriose Aufgaben ausgeführt. Obwohl Sie möglicherweise Nachforschungen anstellen müssen, wenn Sie wirklich spezielle Anforderungen haben, sind die integrierten Funktionen und Merkmale der von Ihnen verwendeten Skriptsprache in der Regel mehr als ausreichend.
  • Kostenlos und flexibel : Ein Befehlszeilenskript kostet natürlich nichts (außerhalb der Entwicklungszeit), sodass Sie Ihre Skripte ohne 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 Sicherungssoftware auf mehreren Servern und / oder Desktop-Computern.

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

Die meisten Menschen haben noch nie gelernt, Kommandozeilen-Skripte zu verwenden, und dies wird als eine Art „schwarze Kunst“ angesehen. Tatsächlich ist es jedoch ziemlich einfach zu lernen. Um die Leistungsfähigkeit der Befehlszeile zu demonstrieren, stelle ich ein einfaches Windows-Stapelskript zur Verfügung, mit dem Sie Ihre wichtigen Daten sichern können. Dieses konfigurierbare und anpassbare Skript erfordert keine Kenntnisse (oder Bereitschaft zum Erlernen) der Windows-Batch-Skriptsprache. Wenn Sie jedoch mehr über Windows-Batch-Skripts erfahren möchten, ist dieses Skript ein guter Ausgangspunkt .

Was das Backup-Skript macht:

  1. Erstellt vollständige oder tägliche Zuwachssicherungen (Definition siehe unten) 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 (komprimiert) die gesicherten Dateien. Nachdem alle zu sichernden Dateien kopiert wurden, werden sie aus Platzgründen komprimiert. 7-Zip muss auf Ihrem System installiert sein, damit dies funktioniert.
  3. Datiert die komprimierte Datei und verschiebt sie an einen Speicherort. Nach dem Komprimieren der Sicherungsdateien erhält das resultierende Archiv einen Dateinamen gemäß dem aktuellen Datum und wird dann an einen konfigurierten Speicherort verschoben, z. B. ein externes Laufwerk oder einen Netzwerkspeicherort.
  4. Reinigt nach sich selbst. Nachdem alle Aufgaben abgeschlossen sind, bereinigt das Stapelskript alle von ihm erstellten temporären Dateien.

Bedarf:
Windows 2000 / XP / 2003 / Vista oder neuer
7-Zip (kostenlos)

Konfigurationsdatei:
Die Konfigurationsdatei ist einfach eine Textdatei, die zu sichernde Dateien und Ordner enthält und ein Sicherungselement pro Zeile eingibt. Diese Datei muss den Namen "BackupConfig.txt" haben und sich im selben Ordner wie das Sicherungsskript befinden. Hier ist ein Beispiel für eine BackupConfig.txt-Datei (Hinweis: Das Zeichen "#" in der ersten Zeile gibt an, dass die Zeile ein Kommentar ist. Kommentare werden bei der Ausführung des Skripts immer ignoriert):

# Geben Sie einen Datei- und Ordnernamen pro Zeile ein.
C: \ Dokumente und Einstellungen \ Jason Faulkner \ Desktop C: \ Dokumente und Einstellungen \ Jason Faulkner \ Eigene Dateien \ Wichtige Dateien C: \ Scripts \ BackupScript.bat

Das obige Beispiel sichert den Desktop des Windows-Benutzers Jason Faulkner (und alle Ordner auf dem Desktop), den Ordner "Wichtige Dateien" in "Eigene Dateien" (und alle Ordner in "Wichtige Dateien") und die Datei "BackupScript.bat" 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.
  • Inkrementelle Sicherung: Wenn ein Ordner bereitgestellt wird, werden nur Dateien erstellt oder geändert, die am aktuellen Datum erstellt wurden
    Gesichert. Wenn eine Datei bereitgestellt wird, wird sie immer gesichert, unabhängig davon, wann sie geändert wurde.

Das Datensicherungs-Windows-Stapelskript

Ich möchte betonen, dass dieses Skript sehr einfach ist, da es lediglich Sicherungen durch die Verwendung einer einfachen Dateikopie erstellt. Es gibt einige Konfigurationsoptionen, die Sie festlegen 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 wird eine inkrementelle Sicherung ausgeführt).
  • Speicherort von 7-Zip auf Ihrem Computer. Das Skript wird automatisch so eingestellt, dass es am Standardspeicherort angezeigt wird.

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

Ohne weiteres, hier ist es:

Hinweis : Da die Anführungszeichen unten nicht korrekt angezeigt werden (und das Skript dadurch durcheinander gebracht werden kann), habe ich unter dem Skript einen Nur-Text-Link eingefügt, über den Sie eine genaue Quelle zum Kopieren abrufen können.

@ECHO OFF REM BackupScript REM Version 1.01, Aktualisiert: 2008-05-21 REM Von Jason Faulkner (articles132solutions.com) REM Führt vollständige oder inkrementelle Sicherungen von Ordnern und Dateien durch, die vom Benutzer konfiguriert wurden. REM-Verwendung --- REM> BackupScript SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION REM --- Konfigurationsoptionen --- REM-Ordner, in dem Sie das resultierende Sicherungsarchiv speichern möchten. REM Dieser Ordner muss existieren. Setzen Sie kein '\' am Ende, dies wird automatisch hinzugefügt. REM Sie können einen lokalen Pfad, einen externen Laufwerksbuchstaben (z. B. F :) oder einen Netzwerkspeicherort (z. B. \\ Server \ Backups) eingeben. SET BackupStorage = C: \ Backup REM Welchen Wochentag möchten Sie ausführen? Vollsicherung an? REM Geben Sie eine der folgenden Optionen ein: So, Mo, Di, Mi, Do, Fr, Sa, * REM Jeder andere Wochentag als der unten angegebene führt eine inkrementelle Sicherung durch. 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 namens '7-Zip' in Ihrem Programmdateiverzeichnis. SET InstallLocationOf7Zip =% ProgramFiles% \ 7-Zip REM + -------------------------------------- --------------------------------- + REM | Ändern Sie hier unten 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-Überprüfung. WENN NICHT EXISTIEREN% filBackupConfig% (ECHO Keine Konfigurationsdatei gefunden, fehlt:% filBackupConfig% GOTO Ende) WENN NICHT EXISTIEREN "% exe7Zip%" (ECHO 7-Zip ist nicht im Verzeichnis installiert:% dir7Zip% ECHO Bitte aktualisieren Sie das Verzeichnis, in dem 7-Zip ist installiert. GOTO End) REM-Sicherungsvariablen. FOR / f "-Token = 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 = Full SET swXCopy = / e) ELSE (SET txtBackup = Inkrementelles SET swXCopy = / s / d:% FileDate%) ECHO Beginnt mit dem Kopieren von Dateien. WENN NICHT EXISTIERT "% dirTempBackup%" MKDIR "% dirTempBackup%" FOR / f "skip = 1 tokens = *" %% A IN (% filBackupConfig%) DO (SET Current = %% A WENN NICHT EXISTIERT "! Current! "(ECHO ERROR! Nicht gefunden:! Current!) ELSE (ECHO Copying:! Current! SET Destination =% dirTempBackup% \! Current: ~ 0, 1! %% ~ pnxA REM Bestimmen Sie, ob der Eintrag eine Datei oder ein Verzeichnis ist. IF "%% ~ xA" == "" (REM-Verzeichnis. XCOPY "! Current!" "! Destination!" / V / c / i / g / h / q / r / y% swXCopy%) ELSE (REM-Datei . COPY / v / y "! Current!" "! Destination!"))) 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 Komprimiert gesicherte Dateien. (Neues Fenster) REM Komprimiert Dateien mit 7-Zip in einem Prozess mit niedrigerer Priorität. START "Backup komprimieren. NICHT SCHLIESSEN" / normal / warten "% exe7Zip%" a -tzip -r -mx5 "% BackupFileDestination%" "% dirTempBackup% \" ECHO Komprimiert die gesicherten Dateien. ECHO. ECHO Aufräumen. WENN EXIST "% dirTempBackup%" RMDIR / s / q "% dirTempBackup%" ECHO. : Ende ECHO beendet. ECHO. ENDLOCAL

Eine reine Textquelle finden Sie hier: backup

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

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

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

Genießen!

Windows-Stapelskript zum Sichern von Daten