Rsync
Achtung dieser Artikel ist noch in Arbeit und dient vorläufig nur als Vorlage. Dieser Beitrag zu Linux oder der Abschnitt ist in Bearbeitung. Weitere Informationen findest du hier. Der Ersteller arbeitet an dem Beitrag oder Abschnitt und entsorgt den Wartungsbaustein spätestens 3 Tage nach der letzten Bearbeitung. Änderungen außer Rechtschreibkorrekturen ohne Absprache mit dem Urspungsautor sind möglichst zu vermeiden, solange dieser Baustein noch innerhalb der genannten Frist aktiviert ist. |
Autor: Yehudi
Inhaltsverzeichnis
Einführung
rsync ist ein Netzwerkprotokoll, welches unter GPL steht. Das Programm ist für Backups bestens geeignet, (Kopien von A nach B), aber eine Sychronisation von den Daten findet nicht statt. Werden auf b Daten geändert, so können diese nicht abgegeglichen werden. Sind bei einem BackUp Daten mit der selben Zeitangabe vorhanden, werden diese nicht überschrieben, was Zeit spart. Das BackUp Programm wurde von Entwicklern des Samba Team u.a. von Paul Mackeras und Andrew Tridgell programmiert.
Das Tool kann auch mit SSH kombiniert werden.
Im Gegensatz zu cp, welches man zum kopieren auf der Konsolen nutzen kann bietet rsync zahlreiche Steuerungsmöglichkeiten, die unter cp nicht vorhanden sind. cp würde z.B. bereits vorhandene Dateien erneut kopieren,
Installation
Ich setze einfach eine Installation mit APT oder smart vorraus. Dann muss sich nur noch als root in der Konsole angemeldet werden und
apt-get install rsync
oder
smart install rsync
eingetippt werden.
Funktionen über die Konsole
Spiegeln von Ordnern:
rsync -arbuv --delete --progress /home/yehudi/ /data1/home/yehudi
In data1 ist die 2. Festplatte eingebunden, auf der bei mir auch ein SUSE Linux 10.0 wie auf der ersten Festplatte installiert ist.
Script
Dieses Script ist regelmäßig über einen CronJob auszuführen:
#!/bin/bash # # Scriptname backup.sh (Backup mit rsync und KDE Dialogen) # Funktion Backup auf USB, PCMCIA oder 2. Festplatte erstellen # oder einfach von Verzeichnis X nach Verzeichnis Y # benötigt bash, KDE & rsync # # Autor Hermann Friedhoff # Ungelsheimerstr. 81 # 47259 Duisburg # # Programm-Status noch in Arbeit ( wer wird schon fertig??? ) # Bekannte Fehler keine, oder??? ( Naubadi is pörfekt ) # Start 25.07.2003 # Stand 25.05.2005 # # Variablen: $HOME das Home Verzeichnis (vom System) # $USER der angemeldete Benutzer (vom System) # para Parameter für rsync, für Details "man rsync" in eine Shell eintippen # log_datei Textdatei mit einer Auflistung der gesicherten Dateien # idzb Verzeichnis um zu testen ob das Zielverzeichnis beschreibbar ist # quelle das Verzeichnis das gesichert werden soll # ziel der Pfad für das zu sichernde Verzeichnis # fehler 0 alles O.K und 1 ein Fehler ist aufgetreten # # bei folgenden 3 Variablen kann der Inhalt geändert werden log_datei="Backup vom `date +'%d.%m.%y - %H:%M:%S'`.txt" para="-av" idzb=".test_idzb.tmp" # ab hier sind keine Änderungen mehr erforderlich quelle="" ziel="" fehler="0" if quelle=`kdialog --title "Zu sicherndes Verzeichnis auswählen" --getexistingdirectory "$HOME" "*"` then if ziel=`kdialog --title "Verzeichnis zum sichern auswählen" --getexistingdirectory "$HOME" "*"` then if [ -f /usr/bin/rsync ] then rmdir`date +'%d.%m.%y - %H:%M:%S'` "$ziel/$idzb" >/dev/null if mkdir "$ziel/$idzb" >/dev/null then rmdir "$ziel/$idzb" >/dev/null fehler=0 echo "Backup von $quelle" > "$ziel/$log_datei" echo "" >> "$ziel/$log_datei" if ! rsync $para "$quelle" "$ziel" >> "$ziel/$log_datei" then kdialog --error "Beim Backup von $quelle nach $ziel ist ein Fehler aufgetreten." fehler=1 fi if [ "$fehler" = "0" ] then kdialog --msgbox "Fertig, Backup von $quelle nach $ziel wurde erstellt." else kdialog --error "Fehler, Backup konnte nicht korrekt erstellt werden." fi else kdialog --error "Abbruch, schreiben auf $ziel nicht möglich." fi else kdialog --error "Abbruch, das Programm /usr/bin/rsync fehlt." fi else kdialog --error "Abbruch, durch Benutzer $USER." fi else kdialog --error "Abbruch, durch Benutzer $USER." fi
Grafische Oberflächen zu rsync
(Danke an oc2pus)
eine weitere Möglichkeit, die sich unabhängig von dem Betriebssystem nutzen lässt wäre Unison, welches eine "Syncronisation" über die Plattform hinweg ausführen.
Unison
Das Programm ist hier näher beschrieben:
Quellen
- Michael Kofler, Linux (7. Auflage) S. 212
- http://de.linwiki.org/index.php/Rsync
- http://de.susewiki.org/index.php?title=Backups
- http://wiki.ubuntuusers.de/rsync
- http://www.linux-club.de/viewtopic.php?t=31524
- http://www.linux-magazin.de/Artikel/ausgabe/2004/09/backups/backups.html
- Server schnell und kostengünstig spiegeln
- http://www.linux-magazin.de/Service/Listings/2004/09/Rsyc-Backup/backup-rsync
- http://www.linux-magazin.de/Service/Listings/2004/09/Rsyc-Backup/backup-rsync-konv
- http://www.heinlein-support.de/web/wissen/rsync-backup/
- Using Rsync and SSH
- Wikipedia
- Homepage von rsync