[[Vorlage(Ausbaufähig, "Das im Artikel enthaltene Skript könnte überarbeitet werden (siehe [post:7343153:Diskussion]).")]] [[Vorlage(Getestet, focal)]] {{{#!vorlage Wissen [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] [:Rechte: Rechte für Dateien und Ordner ändern] [:Paketinstallation_DEB: Ein Paket installieren] }}} [[Inhaltsverzeichnis()]] [[Bild(Wiki/Icons/terminal.png, 48, align=left)]] Wie wertvoll ein Backup der persönlichen Daten sein kann, erkennt man meist erst, wenn der Ernstfall eingetreten ist. Einige lehnen sich dann entspannt zurück und schreiben die "verlorenen Daten" mit einer kurzen Befehlszeile zurück, andere beißen vor Wut in die Tischkante, weil sie vergessen haben, ein Backup zu machen. Mittels des hier vorgestellten kleinen Skriptes sollte jeder in der Lage sein, sich im Ernstfall entspannt zurückzulehnen. = Funktion = Dieses Backupskript erstellt ein Grundbackup und eine tägliche Sicherung der geänderten Daten. Dazu bedient es sich des Programmes [:tar:tar] und des Dienstes [:Cron:anacron]. Der Dienst anacron sorgt dafür, dass immer ein Backup nach dem ersten Rechnereinschalten des Tages gemacht wird. Somit ist sichergestellt, dass nicht vergessen wird, ein Backup anzulegen bzw. dass ein Backup nicht angelegt wird, weil die Ausführungszeit vor Einschalten des Rechners liegt, was z.B. der Fall bei [:Cron:cron] wäre. Nach jedem Backupvorgang wird eine Mail an `root` gesendet, in der mitgeteilt wird ob das Backup von Erfolg gekrönt war oder ob ein Fehler aufgetreten ist. = Installation = Folgendes Paket sollte bei Bedarf installiert werden [4]: {{{#!vorlage Paketinstallation mailutils, universe }}} (nur notwendig wenn man keinen anderen [:Mailserver_Einführung:MTA] installiert hat und sich Mails über den Backup-Erfolg senden lassen möchte) = Das Skript = Zuerst öffnet man einen Texteditor [2] und kopiert den folgenden Text hinein: {{{#!code bash #!/bin/bash # Script fuer inkrementelles Backup mit 30 taegigem Vollbackup ### Einstellungen ## BACKUPDIR="media/backup" ## Pfad zum Backupverzeichnis ROTATEDIR="media/backup/rotate" ## Pfad wo die Backups nach 30 Tagen konserviert werden TIMESTAMP="timestamp.dat" ## Zeitstempel SOURCE="home/user" ## Verzeichnis(se) welche(s) gesichert werden soll(en) DATUM="$(date +%d-%m-%Y)" ## Datumsformat einstellen ZEIT="$(date +%H:%M)" ## Zeitformat einstellen >>Edit bei NTFS und Verwendung auch unter Windows : durch . ersetzen ### Verzeichnisse/Dateien welche nicht gesichert werden sollen ! Achtung keinen Zeilenumbruch ! ## EXCLUDE="--exclude=home/user/Filme --exclude=home/user/Musik --exclude=home/user/Spiele --exclude=home/user/.VirtualBox --exclude=home/user/.local/share/Trash" ### Wechsel in root damit die Pfade stimmen ## cd / ### Backupverzeichnis anlegen ## mkdir -p ${BACKUPDIR} ### Test ob Backupverzeichnis existiert und Mail an Admin bei fehlschlagen ## if [ ! -d "${BACKUPDIR}" ]; then mail -s "Backupverzeichnis nicht vorhanden!" root <