Skip to content

Backup with 7-Zip. Creates a monthly full backup, which is the basis for subsequent incremental backups.

License

Notifications You must be signed in to change notification settings

schellerweb/backup7z.cmd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

backup7z.cmd

Beschreibung

Datensicherung mit 7-Zip.

Die freie Software 7-Zip wird unter Windows häufig zum erstellen und bearbeiten verschiedenster Archivformate genutzt. Sie eignet sich jedoch auch zur Datensicherung und stellt überdies mit seiner grafischen Benutzeroberfläche eine einfache Wiederherstellung von gesicherten Dateien da. Werden die Sicherungen im ZIP-Format angelegt können diese im Gegensatz zum proprietären 7z-Format direkt in Windows bearbeitet werden. Zugegeben eine komplette Systemwiederherstellung wird man damit nicht erreichen, dies ist in der Regel mit erheblich mehr Zeit.- und Kostenaufwand realisierbar und ist selbst in einem professionalem Umfeld nicht immer die erste Wahl. Im privaten Bereich sollten sich Sicherungen auf erstellte Dateien wie Dokumente, Bilder, Videos und ähnliches begrenzen und vor allen Dingen zügig laufen, denn nur so werden diese auch regelmäßig durchgeführt.

Die Batchdatei backup7z.cmd automatisiert das Erstellen von Sicherungen. Sie erstellt eine monatliche Komplettsicherung, welche Basis für nachfolgende inkrementelle Sicherungen ist. Bei dieser Art der Sicherung wird nur die Teilgruppe von Dateien gesichert, die sich seit der vorherigen Sicherung verändert haben. Sie bezieht sich also immer auf die vorherige Sicherung, welche entweder eine Komplettsicherung oder eine inkrementelle Sicherung sein kann. Inkrementelles Sichern ist nicht nur leistungsfähiger und schneller, es benötigt zudem wesentlich weniger Speicherplatz.

In der Batchdatei backup7z.cmd bezieht sich die inkrementelle Sicherung immer auf die monatliche Komplettsicherung. Zunächst sind die zu sichernden Verzeichnisse in einer Aufgabendatei zu erfassen. Die Aufgabendatei besteht pro Zeile aus 3 -durch Semikolons getrennte- Spalten. Die erste Spalte enthält einen eindeutigen Namen, die zweite das zu sichernde Verzeichnis und die dritte ist optional und enthält durch Kommas getrennte Ausnahmen.

USERS;C:\Users;*\.*,*\AppData,*\NTUSER.DAT
SQLBACKUP;C:\MsSql\Data

Auf diese Weise können Sie eine Sicherungsaufgabe pro Zeile mit entsprechenden Ausnahmen angeben. Alle weiteren Konfigurationen wie bspw. das Ausgabeverzeichnis und vieles mehr, werden in einer INI-Konfigurationsdatei definiert. In diesem Fall möchten wir neben den Benutzerverzeichnissen unter 'C:\Users' alle Dateien unter 'C:\MsSql\Data' auf ein USB-Laufwerk sichern. Die Namen beider Dateien können frei gewählt werden und heißen in diesem Beispiel 'usb.csv' für die Aufgabendatei und 'usb.ini' für die Konfigurationsdatei und liegen neben der Batchdatei im Verzeichnis D:\backup7z\cmd des USB-Laufwerks.

[Backup]
Tasks=D:\backup7z\cmd\usb.csv
Destination=D:\backup7z\data
Type=ZIP
Password=
Exclude=\*.tmp,\*\tmp,*\temp
Output=1

[System]
LogFile=D:\backup7z\cmd\usb.log
Shutdown=0
ShutdownTime=120
Wait=1

[SMTP]
Email=true
Host=smtp.gmail.com
Port=587
Username=name@gmail.com
Password=w3brb4!kxEx
Sender=smtp@mydomain.de
Recipient='admin@mydomain.com','h.scheller@mydomain.com'
INI Konfigurationsdatei

Konfiguration der INI-Datei.

INI-Dateien enthalten Schlüssel-Wert-Paare, die in Abschnitte unterteilt sind. Unsere INI-Datei ist in drei Abschnitte unterteilt und enthält alle notwendigen Einstellungen wie wo und in welchem Format gespeichert werden soll. INI-Dateien sind vorteilhaft, wenn unterschiedliche Konfigurationen erstellt werden sollen. Wenn Sie beispielsweise Backups über den Taskplaner durchführen und einem Benutzer auch ermöglichen möchten, diese manuell auszuführen, sind unterschiedliche Konfigurationen mit unterschiedlichen INI-Dateien recht einfach zu bewerkstelligen.

[Backup]

Tasks Gibt den Namen der Aufgabendatei an.
DestinationGibt das Sicherungsziel an. Meist eine externe Festplatte oder ein Netzlaufwerk, auf dem das Backup gespeichert werden soll. Wenn ein UNC-Pfad angegeben wird, sollte die Authentifizierung vorher in Windows gespeichert werden.
Type Gibt den Typ des Sicherungsarchiv an. Mögliche Werte sind zip oder 7z. Der Typ zip ist Standard und wird auch direkt von Windows unterstützt.
Password Durch Angabe eines Kennwortes wird das Sicherungsarchiv verschlüsselt.
Exclude Generelle Ausschluss Maske für Dateien und Verzeichnise welche durch Kommas getrennt sein müssen. Ein Beispiel wäre: *\tmp,*.bak,*.tmp Dieser Wert ergänzt den in der Aufgabendatei angegebenen Wert.
Output Definiert das Ausgabeformat des Sicherungsarchives. Das Ausgabeformat besteht aus dem Aufgabenamen, Computernamen sowie dem Datum. Es sind 30 verschiedene Ausgabeformate welche nachfolgend beschrieben sind.

[System]

LogFile Datei, die die Sicherungen protokolliert. Standardwert ist der Computername im Ausführungsverzeichnis.
Shutdown Schalter, fährt den Computer herunter, nachdem die Sicherung abgeschlossen ist. Gültige Werte sind 0/1 off/on true/false.
ShutdownTime Legt die Abschaltzeit in Sekunden fest. Es können Werte zwischen 30 und 600 angegeben werden.
Wait Schalter, wartet nach der Ausführung auf eine Tastatureingabe. Gültige Werte sind 0/1 off/on true/false.

[SMTP]

Email Schalter, sendet nach der Sicherung eine E-Mail über SMTP. Vorausgesetzt, nachfolgende Werte sind korrekt. Gültige Werte sind 0/1 off/on true/false.
Host SMTP Host.
Port SMTP Port meist 25 or 587
Username Benutzername
Password Kennwort
Sender Name des Absenders.
Recipient Achtung, im Gegensatz zum Absender müssen die Empfänger immer in Anführungszeichen gesetzt werden. Wenn Sie mehrere angeben möchten, müssen diese durch Kommas getrennt werden. z.B. 'admin@mydomain.com','h.scheller@mydomain.com'


Ausgabe der Datensicherung.

Im Abschnitt [Backup] der INI-Datei wird das Ausgabeverzeichnis sowie das Ausgabeformat anhand der Schlüssel Destination und Output festgelegt. Es gibt 30 verschiedene Ausgabeformate welche sich aus dem aktuellen Datum, dem Computernamen sowie dem in der Aufgabendatei festgeletem Namen der Sicherung. In der nachfolgenden Tabelle werden die Möglichkeiten der Einstellungen dargestellt.

Output format


IDDirectoryFile
1BACKUP\JJJJMMCOMPUTERNAME_NAME_JJJJMMTT.zip
2BACKUP\JJJJMMCOMPUTERNAME_JJJJMMTT_NAME.zip
3BACKUP\JJJJMMNAME_COMPUTERNAME_JJJJMMTT.zip
4BACKUP\JJJJMMNAME_JJJJMMTT_COMPUTERNAME.zip
5BACKUP\JJJJMMJJJJMMTT_COMPUTERNAME_NAME.zip
6BACKUP\JJJJMMJJJJMMTT_NAME_COMPUTERNAME.zip
7BACKUP\JJJJMM_COMPUTERNAMECOMPUTERNAME_NAME_JJJJMMTT.zip
8BACKUP\JJJJMM_COMPUTERNAMECOMPUTERNAME_JJJJMMTT_NAME.zip
9BACKUP\JJJJMM_COMPUTERNAMENAME_COMPUTERNAME_JJJJMMTT.zip
10BACKUP\JJJJMM_COMPUTERNAMENAME_JJJJMMTT_COMPUTERNAME.zip
11BACKUP\JJJJMM_COMPUTERNAMEJJJJMMTT_COMPUTERNAME_NAME.zip
12BACKUP\JJJJMM_COMPUTERNAMEJJJJMMTT_NAME_COMPUTERNAME.zip
13BACKUP\COMPUTERNAME_JJJJMMCOMPUTERNAME_NAME_JJJJMMTT.zip
14BACKUP\COMPUTERNAME_JJJJMMCOMPUTERNAME_JJJJMMTT_NAME.zip
15BACKUP\COMPUTERNAME_JJJJMMNAME_COMPUTERNAME_JJJJMMTT.zip
16BACKUP\COMPUTERNAME_JJJJMMNAME_JJJJMMTT_COMPUTERNAME.zip
17BACKUP\COMPUTERNAME_JJJJMMJJJJMMTT_COMPUTERNAME_NAME.zip
18BACKUP\COMPUTERNAME_JJJJMMJJJJMMTT_NAME_COMPUTERNAME.zip
19BACKUP\JJJJMM\COMPUTERNAMECOMPUTERNAME_NAME_JJJJMMTT.zip
20BACKUP\JJJJMM\COMPUTERNAMECOMPUTERNAME_JJJJMMTT_NAME.zip
21BACKUP\JJJJMM\COMPUTERNAMENAME_COMPUTERNAME_JJJJMMTT.zip
22BACKUP\JJJJMM\COMPUTERNAMENAME_JJJJMMTT_COMPUTERNAME.zip
23BACKUP\JJJJMM\COMPUTERNAMEJJJJMMTT_COMPUTERNAME_NAME.zip
24BACKUP\JJJJMM\COMPUTERNAMEJJJJMMTT_NAME_COMPUTERNAME.zip
25BACKUP\COMPUTERNAME\JJJJMMCOMPUTERNAME_NAME_JJJJMMTT.zip
26BACKUP\COMPUTERNAME\JJJJMMCOMPUTERNAME_JJJJMMTT_NAME.zip
27BACKUP\COMPUTERNAME\JJJJMMNAME_COMPUTERNAME_JJJJMMTT.zip
28BACKUP\COMPUTERNAME\JJJJMMNAME_JJJJMMTT_COMPUTERNAME.zip
29BACKUP\COMPUTERNAME\JJJJMMJJJJMMTT_COMPUTERNAME_NAME.zip
30BACKUP\COMPUTERNAME\JJJJMMJJJJMMTT_NAME_COMPUTERNAME.zip


Ist alles wie in diesem Beispiel konfiguriert, wird die 'usb.ini' als Argument beim Aufruf wie folgt angegeben.


Beispiel:
D:\backup7z\cmd\backup7z.cmd D:\backup7z\cmd\usb.ini

img001

Gegebenfalls werden aufgrund fehlender Zugriffsrechte nur der eigene Teil des C:\Users Verzeichnisses gesichert. Was aus Datenschutzgründen durchaus Sinn macht. Einträge im Ereignisprotokoll sowie der Dateien im /log Verzeichnis helfen bei der Fehlersuche.

Requirements

  • 7-Zip
  • Microsoft Windows PowerShell

License

MIT License

Copyright (c) 2022 H. Scheller

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Note the licensing of the 7-Zip Software

About

Backup with 7-Zip. Creates a monthly full backup, which is the basis for subsequent incremental backups.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published