Backup
From Blue-IT.org Wiki
Contents
Unison
Unison ist ein leider nicht mehr aktiv weiter entwickeltes Programm zur echten Synchronisation zweier Verzeichnisse. Bitte lesen Sie den zugehörigen Wikipedia Artikel zu Unison.
Hinweis zum Löschen/Ändern von Profilen
Unison bietet die Möglichkeit, sogenannte Profile anzulegen. Leider lassen sich Profile anlegen, aber nicht bearbeiten oder löschen.
Unison legt die Profile in einfachen Textdateien ab. Dazu öffnen sie einfach den (versteckten) Ordner .unison in Ihrem persönlichen Ordner (Home Verzeichnis - /home/benutzername/.unison). Darin finden Sie Textdateien zu den Profilen, die Sie anpassen oder löschen können.
Denken Sie daran: Versteckte Dateien sind nur sichtbar, wenn der Dateibrowser entsprechend konfiguriert ist (z.B. Nautilus: Menü->Ansicht->Verborgene Dateien anzeigen).
Einfaches Backup mit rsync und zenity
Dieses sehr einfache Skript kopiert alle Daten der Heimatverzeichnisses (/home/Benutzername) eines entfernten Rechners auf den lokalen Rechner.
Dabei werden alle lokalen Dateien ersetzt (rsync wird mit dem Parameter --delete aufgerufen). Die Synchronisation erfolgt also nur in eine Richtung!
Diese Anleitung bezieht sich auf die Einrichtung in einer Gnome (Gnome 2.22) Desktop Oberfläche.
Download
Das Skript finden Sie in gepackter (!) Form hier oder Sie kopieren den Quelltext weiter unten in eine eigene Datei (der Dateiname spielt keine Rolle).
Wenn Sie das Skript heruntergeladen haben, speichern Sie es bitte in einem lokalen Verzeichnis. Erstellen Sie z.B. das versteckte (!) Verzeichnis .Skripte in Ihrem Homeverzeichnis:
mkdir ~/.Skripte
und kopieren Sie das Backupskript dort hinein.
Sie müssen das Skript ausführbar machen. Mit einem Rechtsklick im Dateibrowser öffnen Sie das Eigenschaften Fenster und dort den Reiter Zugriffsrechte:
Erster Start ohne Parameter
Jetzt können Sie das Skript das erste Mal anklicken.
Klicken Sie auf ausführen.
Es wird eine Fehlermeldung erscheinen:
Es fehlen noch diverse Parameter zum Aufruf.
In der eben gezeigten Fehlermeldung ist der genaue Aufrufsyntax beschrieben:
/home/benutzername/skriptname IP_Adresse_des_Desktop Verzeichnis
- IP_Adresse_des_Desktop: bezeichnet die Internetadresse desjenigen Rechners von dem die Daten bezogen werden.
- Verzeichnis: bezeichnet das lokale Untervereichnis unterhalb des Heimatverzeichnisses des aktuellen Benutzers. Ein Punkt "." steht für das Benutzerverzeichnis selbst (Standard).
ACHTUNG: Wird der Punkt als Verzeichnis angegeben, werden alle zu sichernden Daten und Unterverzeichnisse im Heimatverzeichnis unwiderbringlich ersetzt!
Start
Erstellen Sie einen Benutzerdefinierten Programmstarter mit dem Gnome-Panel oder rufen Sie das Skript von der Befehlszeile aus mit den eben genannten Parametern auf. Der Autor empfiehlt, den Starter mit der Option "Typ: Im Terminal starten" zu versehen, damit sie eventuelle Fehlermeldungen und den Verlauf der Sicherung verfolgen können.
Im weiteren Verlauf wird die Verbindung zum externen Rechner mit "ping" geprüft und ggf. das Programm beendet.
Ist der Rechner erreichbar werden im nächsten Dialog die zu synchronisierenden Verzeichnisse angezeigt:
Es werden nur die hier angegebenen Verzeichnisse gesichert. Möchten Sie mehr Ordner hinzufügen, müssen Sie das Skript mit einem Editor manuell anpassen.
Für jedes Verzeichnis wird ein separater rsync Prozess gestartet. Jeweils mit Passwortabfrage. Sie sollten evtl. eine passwortlose Verbindung einrichten (siehe ENG).
Nochmalige Warnung: Mit bestätigen auf OK werden ALLE Dateien im als zweiten Parameter angegebenen Verzeichnis unwiderbringlich überschrieben.
Quellcode
Dies hier ist immer die aktuelle Version des Skriptes: Download Link
Für die Steuerung des Backups Zwei Blöcke wichtig.
Die Zeilen
DOC="Dokumente" PIC="Bilder" MUS="Musik" VID="Videos" DES="Desktop" WEB=".mozilla" EMAIL=".mozilla-thunderbird" VBOX=".VitualBox"
sind nur Variablen zur einfacheren Änderung von wichtigen Verzeichnissen, welche dann im nächsten Block verwendet evtl. ergänzt werden:
true "$DOC" \ true "$PIC" \ true "$MUS" \ true "$VID" \ true "$DES" \ true "$WEB" \ true "$EMAIL" \ false "$VBOX" \
Letzteren Einträgen können pro Zeile beliebig viele Verzeichnisse hinzugefügt werden nach dem Muster:
(true|false) "Verzeichnis" \
Die Anführungszeichen und der Backslash "\" am Ende sind essentiell. true bedeutet, das Verzeichniss ist standardmässig mit einem Häckchen versehen. false das Gegenteil.
Das Editieren der Datei setzt Kenntnis der Programmierung der Bash voraus und des Umganges mit dem Programm zenity.
[Update --Apos 17:19, 13 April 2008 (CEST)] Fensterüberschrift verallgemeinert.
#!/bin/bash # #DESKTOP="192.168.178.24" DESKTOP="$1" #BACKUPDIR="." BACKUPDIR="$2" USERDIR="/home/${USER}" FULLBACKUPDIR="${USERDIR}/${BACKUPDIR}" TITLE="Backup Home von ${USER}@${DESKTOP} nach $FULLBACKUPDIR" TEXT="Bitte wählen Sie die zu sichernden Verzeichnisse\n\ welche vom Desktop auf das Notebook gesichert werden sollen,\n\ aus der folgenden Liste aus.\n\n\ Sychronisieren von Computer mit IP: ${DESKTOP}\n\ in das lokale Verzeichnis: ${FULLBACKUPDIR}\n\n\ ALLE DATEIEN WERDEN OHNE NACHFRAGE ÜBERSCHRIEBEN.\n\ Die Sicherung erfolgt in das Heimatverzeichnis dieses Benutzers." HEIGHT="600" WIDTH="600" # Parameter Testen [ "$BACKUPDIR" ] || zenity --error --width="900" --title="$TITLE" \ --text="Sie müssen als zweiten Parameter ein Verzeichnis angeben in das gesichert werden soll. Dies kann ein extra Backupverzeichnis sein, oder einfach '.' (Punkt) für das aktuellen Heimatverzeichnsis.\n\n\ ACHTUNG, alle Daten werden dabei überschrieben.\n\n\ Legen sie dazu einen Anwendungsstarter im Panel\n\ mit folgendem Inhalt an: \n\n\ ${0} 192.168.178.80 .\n\ ${0} 192.168.178.80 mein_backup." [ "$BACKUPDIR" ] || exit 1 # Ping Desktop ERROR_PING="1" ping -c1 $DESKTOP && ERROR_PING="0" [ "$ERROR_PING" == "1" ] && zenity --error \ --title="$TITLE" --text "Rechner mit der IP $DESKTOP ist nicht erreichbar.\n\ Bitte erst die Netzwerkverbindung herstellen.\n\ Programm wird beendet." [ "$ERROR_PING" == "1" ] && exit 1 # Ins Backupverzeichnis wechseln mkdir -p ${FULLBACKUPDIR} cd ${FULLBACKUPDIR} DOC="Dokumente" PIC="Bilder" MUS="Musik" VID="Videos" DES="Desktop" WEB=".mozilla" EMAIL=".mozilla-thunderbird" VBOX=".VitualBox" LIST="$(zenity \ --height="$HEIGHT" --width="$WIDTH" \ --title="$TITLE" \ --text="$TEXT" \ --list --checklist --multiple \ --separator=" " \ --print-column='ALL' \ --column="Backup" --column="Verzeichnis" \ true "$DOC" \ true "$PIC" \ true "$MUS" \ true "$VID" \ true "$DES" \ true "$WEB" \ true "$EMAIL" \ false "$VBOX" \ )" ( cd /home/$USER/$BACKUPDIR sleep 5 ERROR_RSYNC=1 #XPARAM=" -bg white -fg black -T 'Backup, Abbrechen mit Strg+C' " XTERMTITLE="Backup läuft, Abbrechen mit Strg+C" PERCENT=0 for entry in ${LIST}; do PERCENT=$(($PERCENT+10)) echo "${PERCENT}" echo "# $entry wird gesichert." rsync -av --delete ${DESKTOP}:${USERDIR}/${entry} ${USERDIR}/${BACKUPDIR}/. done echo "100" "Backup beendet." ) | zenity --progress \ --auto-close \ --height="$HEIGHT" --width="$WIDTH" \ --title="$TITLE" \ --text="Backup läuft ..." \ --percentage=0 [ "$?" = -1 ] && zenity --error --text="Backup wurde abgebrochen."