Ich habe einen Linux-Webserver (Ubuntu 12.04) und möchte einen Cronjob erstellen, um lokal (auf derselben Maschine) ein differenzielles Backup zu generieren.
Ist das möglich? Mit differentiell meine ich, dass beim ersten Mal alles kopiert wird, die folgenden Male aber nur neue Dateien. Ich möchte aber auch viele Zeitpunkte haben, also mindestens 3 oder 4 Backups, von denen ich alles wiederherstellen kann.
Ich habe diese Seite überprüft, aber es gibt zu viele verschiedene Tools, und ich schätze, jedes hat seine eigenen Fallstricke:https://help.ubuntu.com/community/BackupYourSystem#Types_of_Backup
Mir wurde beispielsweise gesagt, dass die Größe der gespeicherten .tar.gz-Dateien begrenzt sei.
Wenn Sie einen einfachen Vorschlag haben, auch wenn er nicht umfassend ist, sind wir Ihnen gerne willkommen.
Antwort1
Vorausgesetzt, es ist eine Sicherungsdiskette eingelegt /media/mydisk
und ich möchte eine Sicherung /home/user
, können Sie mit diesem kleinen Skript 10 Verlaufssicherungen erstellen, aber nur bestimmte Dateien mehr als einmal speichern.
Dies erfordert, dass die Backup-Festplatte mit einem POSIX-Dateisystem formatiert ist, wie Ext4, XFS oder etwas anderes, aberNEINNTFS,nochfett!
#!/bin/bash
backRepo=/media/mydisk
backSrce=/home/user
backDest=home
backCopy=copy
backCount=9
[ -d "$backRepo/$backDest" ] || mkdir "$backRepo/$backDest"
cd $backSrce || exit 1
rsync -ax --delete --exclude '*~' --exclude '.DStore' . "$backRepo/$backDest/."
cd $backRepo
[ -d "$backCopy.$backCount" ] && rm -fR "$backCopy.$backCount"
for ((i=$backCount;i--;));do
[ -d "$backCopy.$i" ] && mv "$backCopy.$i" "$backCopy.$((i+1))"
done
((i++))
cp -al $backDest $backCopy.$i
Dadurch cp -al
werden Hardlinks von Dateien erstellt, anstatt sie zu kopieren. Dadurch wird kein zusätzlicher Speicherplatz verbraucht.
Rsync wirdneu erstellen(Kopieren beim Schreiben) Alle geänderten Dateien, daher bleibt die alte Version in einem rotierenden Backup erhalten.
Antwort2
rsyncist ein großartiges Tool zum Kopieren von Dateien. Es kann nur die Änderungsbits in einer Datei kopieren und die Zieldateien vor dem Überschreiben sichern.
Sie können Ihr Backup ganz einfach so bearbeiten, crontab
dass es regelmäßig für Ihr Haupt-Backup ausgeführt wird rsync
. Dann können Sie die Backups für die geänderten Dateien kopieren und Sie haben mehr Zeitpunkte. Oder Sie können die gesicherten Daten vor dem Ausführen kopieren, rsync
um für jeden Zeitpunkt ein vollständiges Image zu haben.
Sofern Sie die Dateien später nicht woanders hin kopieren möchten, halte ich die Verwendung nicht für notwendig tar
.