Home Service openSUSE (32Bit) Datensicherung unter openSUSE mittels rsync

Datensicherung unter openSUSE mittels rsync

opensuse kopfMit Hilfe eines kleinen Shell Scripts konnte ich eine Datensicherung (synchronisation) der "home" Partition unter openSUSE 12.2 realisiert.

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 1 TB Systemplatte unter /dev/sda/ eine zweite 1 TB Platte unter /dev/sdb/ eingebaut. Diese wurde, wie auch die erste Platte, komplett als EXT4 formatiert und unter /home/user/backup/ gemountet.

Vorbereitung des Sicherungsmediums

[Alt] [F2] yast [Enter]

Rootpasswort [Enter]

System / Partitionierer

Aussuchen der neuen Platte /dev/sdb/, anlegen einer EXT4 Partition, mounten unter /home/user1/backup

Speichern

Damit auch ein User auf die Platte schreiben kann, werden mittels

[Alt] [F2] kdesu dolphin [Enter]

RootPassword [Enter]

noch die Schreibrechte der neuen Platte auf Name= User1, Gruppe=users (Haken bei Unterverzeichnissen nicht vergessen) gesetzt. User1 steht natürlich für den Namen des Users.

Das Script

Das Script besteht aus mehreren Blöcken.

Der allgemeine Teil

#!/bin/bash
clear
Version=0.7.8          # Versionnummer des Scripts
Datum=[23.03.2013]     # Datum der Version
warten=5               # Zeit in Sekunden, die gewartet werden soll bis die Sicherung weiter läuft
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

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/user1/backup/user1/
#Sicherung starten
rsync -auv --delete --progress --stats --exclude=/backup $Quelle $Ziel
sleep $warten

Der Name "User1" wird durch die tatsächlichen Namen ersetzt. Auch bei den Variablen "Quelle" und "Ziel" müssen die korrekten Usernamen stehen.

Die eigentliche Sicherung erfolgt durch die Zeile:

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

Der Parameter --exclude=/backup ist wichtig, damit nicht die Daten der Sicherung, die ja unter /home/user1/backup eingebunden (gemountet) wurde wieder gesuchert werden. Das "u" in "auv" sorgt dafür, dass ab der zweiten Sicherung nur noch die Änderungen gesichert werden.

Sollen auch Daten der Root-Partition, beispielsweise "/srv/www" für persönliche Internetstartseiten der User gesichert werden, kann dieses durch einen weiteren User-Block gemacht werden.

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

Der Schlussteil.

clear
echo
echo ==============================
echo =- Backup
echo =- Version $Version $Datum
echo =- JeRuSOFTWARE Oldenburg      
echo ==============================
echo
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.

Start der Sicherung

Ich starte die Sicherung aus Dolphin, wobei ich über [F4] eine Shell öffne. Per

su

RootPassword [Enter]

sorge ich dafür, dass auch die Daten anderer User des Systems gesichert werden können. Nun ziehe ich das Script von oben in die Shell und starte durch [Enter]

Da nach dem ersten Durchlauf lediglich die Änderungen gesichert werden, geht das auch sehr schnell.

Hinweis zu externen Platten

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