PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Frage zu backups mit rsync



swen1
15.07.04, 07:56
Moin,

ich möchte gern einen Server so backupen, dass man den Stand von vor mehreren Tagen wiederherstellen kann. Also wenn man eine Datei zerschießt und Nachts läuft das Backup, möchte ich am nächten Tag die Datei von Vorgestern wiederholen können. Nun hab ich natürlich nicht solche Kapazitäten den kompletten Server mehrfach zu spiegeln, es sollten also nur geänderte Dateien gesichert werden.

Geht das mit rsync? Wenn ja, wie? Wenn nein, mit welchem anderen Tool geht das?

Danke!
Gruß Swen

Blade
15.07.04, 09:26
Hi,

klar geht das mit rsync mit der Option: --delete -> schau mal unter "man rsync". Du musst dann nur das Verzeichnis angeben, wo die alte Datei vor dem Überschreiben hingesichert werden soll.

Ich hab das so gelöst, dass vor dem Überschreiben die alte Datei in ein Verzeichnis mit Name des aktuellen Tagesdatums abgespeichert wird.

swen1
15.07.04, 10:07
Hallo Blade,

genau das suche ich! Leider ist mein Englisch nicht perfekt und ich kapier einiges aus der man-page nicht. Die Option --delete benötige ich doch um Dateien die im Quellverzeichnis gelöscht sind auch auf dem Ziel zu löschen.

Wäre super, wenn Du Deinen Befehl kurz hier rein kopieren könntest.

Danke!!
Gruß Swen

Blade
15.07.04, 10:32
Hallo Swen,

ein kurzer Ausschnitt aus meinem Script, hoffe Du kommst klar, einfach die Variablen gedanklich beim rsync-Befehl einsetzen. Wichtig sind die Optionen -- delete und --backup und --backup-dir ...

#Server Root-Verzeichnis zu sichern
BACKUPROOT_SERVER=/

#Backup-Server Variablen
ROOTDIR=/usr/local/server-backup
CONFDIR=$ROOTDIR/config
BACKUPDIR=/BACKUPVOLUME/Backup/$WOCHENTAG/
BACKUPDIR_OLDDATA=/BACKUPVOLUME/Backup_olddata
INCREMENTDIR=`date +%Y.%m.%d`
MOUNTPOINT=$ROOTDIR/mount

# rsync exclude setzen
#EXCLUDES=example_exclude_file

# rsync include directory-file
INCLUDEFILE=--include-from=$ROOTDIR/rsync_server/include_server

# options to pass to rsync for HD-Datensicherung intern
OPTIONS_HD="--force --ignore-errors --delete --delete-excluded \
--exclude-from=$EXCLUDES --backup --backup-dir=$BACKUPDIR_OLDDATA/$INCREMENTDIR -avz"

rsync $OPTIONS_HD $INCLUDEFILE -e "ssh -2" $SERVER_USER@$SERVER_IP:$BACKUPROOT_SERVER $BACKUPDIR

swen1
15.07.04, 11:26
Vielen Dank Blade !!!! Sieht wirklich gut aus. Werde ich dann gleich mal testen.

Gruß Swen

pibi
15.07.04, 12:35
INCREMENTDIR=`date +%Y.%m.%d`Ich mache es ganz aehnlich mit einer kleinen Ausnahme: Als Directory fuer das Backup setze ich
BACKUPDIR=${1:-"day"`date +%d`} ein. Damit werden "day01" bis "day31" erzeugt bzw. immer wieder zyklisch ueberschrieben. So kann ich alles vollautomagisch laufen lassen.

@swen1: Das von Blade gepostete Script ist nur ein Ausschnitt (wie er selbst erwaehnt hat) und so nicht lauffaehig, da einige Variablen nicht definiert sind ($EXCLUDES, $WOCHENTAG), auf die Bezug genommen wird.

Gruss Pit.

Blade
15.07.04, 16:42
Hi pibi,

Dein Tipp zu BACKUPDIR ist auch net schlecht, muss ich mir glatt mal merken ;)

oracle2025
15.07.04, 17:05
Hier ist auch noch so ne art HOWTO:
http://main.linuxfocus.org/Deutsch/March2004/article326.shtml