Suche Inkrementelles Rsync Backupscript

NacKteOmA

New Member
Nach Stunden googeln und etlichen versuchen möchte ich euch nun mal fragen ob Ihr ein nettes Rsync Inkrementelles Backupscript kennt. Bin zwar über einige Scripte gestolpert, aber keines wollte so richtig zum laufen kommen (da oft total veraltet etc.).

Das Script sollte folgendes machen:

- Tägliches Backup des gesamten Systems mit Rsync via SSH zu einem anderen Server (separates MySQL Backupscript habe ich selbst geschrieben und muss nicht berücksichtig werden)
- Inkrementell (auf dem Backupserver sollte jeweils zum Server ein "aktuelles Verzeichniss" befinden, welches das derzeitige aktuellste komplett Backup beinhaltet, sowie für jeden Tag ein Ordner mit den jeweiligen änderungen des Tages)
- Max. X Tage bzw. Rotationen mit anschließender Löschung (damit der Speicher nicht endlos voll läuft)
- Vorzugsweise direkt im Script das Passwort des zu backupendes Servers hinterlegen, welches ja beim Rsync verlangt wird um damit SSH Keys auszuweichen da es eh nur um einen Server geht.
- Ggfs. Authorizierung via SSH Keys.
- Shellscript und/oder Perlscript (nichts in der Richtung wie Backup-PC da der Backupserver kein Webserver o.ä. betreibt)

Ich denke das ist nichts besonderes, leider habe ich aber nur Scripts gefunden welche auch durch selbst Hand anlegen einfach nicht laufen wollten.

Kennt ja jemand was passendes?
 
Die meisten deiner Anforderungen werden von rsnapshot erfüllt: http://rsnapshot.org/ . rsnapshot löst die Sache mit den inkrementellen Backups und dem steigenden Platzbedarf recht hübsch, indem es hard links verwendet.
Einziges Problem ist, dass rsnapshot nicht per ssh die Backups entfernt speichern kann. Wenn es bei dir möglich ist, die Richtung umzudrehen, d.h. "pull" statt "push", dann wäre rsnapshot vermutlich eine passende Lösung für dich.
 
Ich hab da das Script von Ubuntuusers in gebrauch. Per Cron wird einmal täglich von auswählbaren Verzeichnissen ein Backup gemacht, monatlich wird das Backup überschrieben. Um den Speicher nicht vollzumüllen werden bei nicht geänderten Dateien einfach Hardlinks gesetzt.
Das ganze funktioniert entweder als Backup auf dem gleichen Server, oder vom zu sichernden Server zum Backupserver oder eben vom Backupserver aus. Einloggen per Keys.
http://wiki.ubuntuusers.de/Skripte/Backup_mit_RSYNC#Sichern-ueber-SSH
 
Alle deine Wuensche erfuellt ein simples rsync-Bashskript, warum kompliziert wenns auch einfach geht?
In dieser Form haelt es "inkrementelle" Backups der letzten Woche vor und setzt auf Hardlinks jeweils zum vorigen Tag um Platz zu sparen.

Code:
#/bin/bash

#CONFIG START
SSHPrivateKey="/root/backup.key"
SSHPort=22
SSHBackupFolder="/backup/myserver/"
SSHUser="root"
SSHServer="my.other.server"

BackupPath="/var/www/'
#CONFIG END

Today=`/bin/date +%a`
Yesterday=`/bin/date -d yesterday +%a`

echo "Starting backup... "

/usr/bin/rsync -avuze 'ssh -p $SSHPort -i $SSHPrivateKey' --delete --numeric-ids --link-dest $SSHBackupFolder/$Yesterday $BackupPath $SSHUser@$SSHServer:/$SSHBackupFolder/$Today

echo "Backup completed"
ungetestet
 
Back
Top