Linux Mint 18 Cinnamon - Datensicherung mit Hilfe von rsync

logo linux mint

Linux Mint ist ein sehr sicheres und stabiles System trotzdem kann es, wenn beispielsweise eine Festplatte defekt ist, zu Datenverlusten kommen. Auch wenn ein komplettes Produktivsystem einem Update unterzogen werden soll, sind vorhandene und möglichst aktuellle Updates sehr sinnvoll.

Ich zeige Euch nun, wie ihr mit Hilfe eines relativ einfachen Scriptes und Linux Mint eine Datensicherung auf einer externen Festplatte erstellen könnt.

Rechtlicher Hinweis

JeRuSOFTware übernimmt keinerlei Haftung bei Schäden, die durch die Verwendung des Skriptes oder der Informationen aus diesem Artikel entstehen könnten.

Nun zu den technischen Informationen

Dazu habe ich, passend zu meiner 2 TB Systemplatte unter /dev/sda/ eine zweite 2 TB Platte unter /dev/sdb/ eingebaut. Diese wurde, wie auch die erste Platte, komplett als EXT4 formatiert. Diese Platte wurde im BIOS nicht angemeldet und wird zu beginn der Sicherung eingebunden, sowie am Ende der Sicherung wieder ausgebunden.

und unter /home/user/backup/ gemountet.

Das Unterverzeichnis /backup muss vor der ersten Verwendung der Sicherung angelegt werden.

Das Script

Das Script besteht aus mehreren Blöcken. Alles dese Blöcke müssen kopiert werden und als eine Datei, zum Beispiel mit dem Namen "backup.sh" unter /home/BenutzerName/scripte/ abgelegt werden. Um das Script später auch ausführen zu können müssen dann noch die entsprechenden Rechte (ausführbar) für diese Datei angelegt werden.

Unter Cinnamon 3.0 wird für die Ausführbarkeit der Datei zunächst einmal über einen Mausklick mit der rechten Maustaste auf das Symbol der Datei das Kontektmenü aufgerufen und hier "Eigenschaften" ausgewählt.

datensicherung rechte

Nun in den Bereich "Zugriffsrechte gehen und bei Ausführen den Haken setzen.

Den Dialog dann über "Schließen" beenden.

Der Start des Scripts nun über einen linksklick auf das Symbol, es erscheint nun eine Abfrage, wie die Datei behandelt werden soll:

datensicherung starten

Hier nun "Im Terminal ausführen" auswählen.

Die obige Abfrage erscheint nicht, wenn die Datei nicht ausführbar ist, dann wird sie einfach in einem Editor zur Bearbeitung geöffnet.

Bei unveränderten Standardeinstellungen in Cinnamon 3.0 wird zur Anzeige / Bearbeitung der Datei das Programm "xed" geöffnet.

xed wird auch zur Anzeige und Bearbeitung des Scripts geöffnet, wenn im obigen Dialog "Anzeige" ausgewählt wird.

Kommen wir nun zum Inhalt des Scripts.

Der allgemeine Teil und Einbinden des Laufwerks

#!/bin/bash
clear
Version=1.0.0              # Versionnummer des Scripts
Datum=[02.11.2016]   # Datum der Version
warten=5                       # Zeit in Sekunden, die gewartet werden soll bis die Sicherung weiter läuft
clear
echo
echo ==============================
echo =- Backup
echo =- Version $Version $Datum
echo =- JeRuSOFTWARE Oldenburg
echo ==============================
echo
echo =- Einbinden der Sicherungsfestplatte
echo
sudo mount /dev/sdb1 /home/USERNAME/backup
sleep $warten
echo
echo ==============================
echo =- Backup
echo =- Version $Version $Datum
echo =- JeRuSOFTWARE Oldenburg
echo ==============================
echo
echo =- Es wird zwischen den Profilen
echo =- $warten Sekunden gewartet.
echo
sleep $warten

Das Einbinden der Platte zur Sicherung erfolgt über die Codezeile:

sudo mount /dev/sdb1 /home/USERNAME/backup

Im obigen beispiel befindet sich die Festplatte in /dev/sdb1 und wird unter /home/USERNAME/backup eingebunden.

Es gilt nun herauszufinden, unter welcher /dev die Festplatte im System vorhanden ist.

Dies lässt sich unter Cinnamon recht einfach mit dem Dateimanager Nemo herausfinden. In der Seitenleiste (Sollte die Seitenleiste nicht aktiv sein, kann diese durch die [F9]-Taste aktiviert werden.) einfach mit der Maus in dem Abschnitt "Geräte" über die zu verwendende Festplatte gehen und einem Moment warten.

Nach kurzer Zeit erscheint der folgende Hinweis:

datensicherung dev herausfinden

Hier ist nun zu sehen,  dass die Platte auf meinem System unter /dev/sdb1 zu finden ist. Die obige Zeile zum mounten der Platte bitte entsprechend der Anzeit in Ihrem System anpassen.

Der Block für jeden User.

Ja nach dem, wieviele Benutzer an dem PC eingerichtet wurden, muss der folgende Block in der entsprechenden Anzahl hintereinander kopiert werden.

clear
echo
echo ==============================
echo =- Backup
echo =- Version $Version $Datum
echo =- JeRuSOFTWARE Oldenburg
echo ==============================
echo
echo =- Sicherung von User1
sleep 2
#User1
# Sichern von:
Quelle=/home/user1/
# Sichern nach:
Ziel=/home/USERNAME/backup/user1/
#Sicherung starten
sudo rsync -auv --delete --progress --stats --exclude=/backup $Quelle $Ziel
sleep $warten

Der Name "User1" wird durch die tatsächlichen Namen ersetzt, USERNAME ist der User, bei dem das Verzeichnis /backup eingerichtet wurde. Auch bei den Variablen "Quelle" und "Ziel" müssen die korrekten Usernamen stehen.

Die eigentliche Sicherung erfolgt durch die Zeile:

sudo rsync -auv --delete --progress --stats --exclude=/backup $Quelle $Ziel

Ich werde nun kurz auf die verwendeten Parameter der Sicherung eingehen:

  • -a: ist eine Zusammenfassung der Parameter:
    • -r: kopiert Unterverzeichnisse
    • -l: kopiert symbolische Links
    • -p: behält Rechte der Quelldatei bei
    • -t: behält Zeiten der Quelldatei bei
    • -g: behält Gruppenrechte der Quelldatei bei
    • -o: behält Besitzrechte der Quelldatei bei (nur root)
    • -D: behält Gerätedateien der Quelldatei bei (nur root)
  • -u: überspringt bereits gesichwerte Dateien
  • -v: zeigt die ausgeführten Schritte im Terminalfenster an
  • --delete: Dateien, die im Quellverzeichnis nicht mehr vorhanden sind, werden auch in der Sicherung gelöscht
  • --progress: zeigt den Fortschritt während des kopierens an, was bei langen Dateien sinvoll ist
  • --stats: zeigt einen Bericht am Ende der Sicherung
  • --exclude=/backup: sorgt dafür, dass der Inhalt des Ordners /backup nicht noch einmal besichert wird. Das würde zu einer Endlosschleife führen

Sollen auch Daten der Root-Partition, beispielsweise "/var/www" für persönliche Internetstartseiten (bei einem installierten Apache Server) der User gesichert werden, kann dieses durch einen weiteren User-Block gemacht werden.

Bei den weiteren Usern kann die Zeile der Sicherung ohne den Parameter --exclude=/backup durchgeführt werden, diese lautet dann also:

sudo rsync -auv --delete --progress --stats  $Quelle $Ziel

Nach dem lezten User kommt nun noch der Folgende Block in das Skript:

Der Schlussteil, Abmelden der Festplatte.

clear
echo
echo ==============================
echo =- Backup
echo =- Version $Version $Datum
echo =- JeRuSOFTWARE Oldenburg
echo ==============================
echo
umount /home/USERNAME/backup
echo =- Fertig !

Das Skript habe ich mit KWrite geschrieben und in dem Verzeichis /home/skript unter dem Namen "backup.sh" gespeichert. Damit es auch ausgeführt werden kann, muss es das recht zur Ausführung erhalten. Das geht unter KDE mit Hilfe der rechten Maustaste und  "Eigenschaften / Berechtigungen", hier den Haken bei "Ausführbar" setzen.

Hinweis zu externen Platten

Das Skript funktioniert auch mit externen Festplatten, hier ist es jedoch aufgrund den Anbindung über USB 2.0 etwas langsamer.