Backup Script

  • Hallo Zusammen,


    in meinem neuen Homeserver sollen zwei große 2TB Platten rein, auf welchen Aufnahmen,Videos und so weiter abgelegt werden.
    Auf der ersten Platte werden die Daten abgelegt. die zweite Platte soll als Backup-Platte dienen. Nun möchte ich mir ein script schreiben, welches per cron-Job mir die Daten auf die Backupplatte kopiert/sichert neuere einfach überschreibt und gleichgebliebene files belässt. Die OrdnerStruktur soll 1-1 identisch sein.


    Das ganze geht ja wunderbar mit rsync. Auch gibt es die Funktion --delete.
    Das heißt, dass Daten, welche auf der Datenplatte gelöscht wurden auch auf der backup-Platte gelöscht werden sollen.


    Was ich jetzt jedoch gerne umsetzen würde, ist dass Daten, welche auf der Datenplatte gelöscht wurden, nicht sofort von der Backup-Platte gelöscht werden sondern erst nach 30 Tagen. Diese funktion gibt es so standard-mäßig mit rsync nicht. Hat jemand von euch eine Ideem, wie ich das umsetzen könnte? Eventuell mit "diff -r"?


    Habe es auch schon hinbekommen, mir Files ausgeben zu lassen, welche nur im Zielordner vorhanden sind.



    diff -r %source% %destiantion% | grep "Nur %destiantion%*" >> FilesMissing.txt
    sed 's/Nur in %destianation% /'""'/g' FilesMissing.txt > NewFilesMissing.txt


    Nachteil ist jedoch es werden 1. keine Dateien in Unterordner berücksichtigt und es werden auch Ordner aufgelistet. Außerdem, wie kann ich dann das Ausgabefile am dümmsten verwenden?

  • Ich habs selber noch nicht probiert, aber das scheint genau das zu sein was du suchst: http://rdiff-backup.nongnu.org/examples.html


    cu

  • Hallo "Keine_Ahnung",


    dank dir erstmal.
    rdiff-backup habe ich auch schon ausprobiert. Ist aber auch nicht das was ich suche. Ich möchte dass die Ordnerstruktur eins zu eins gleich bleibt. rdiff-backup sichert mir zwar die Files legt aber dann inkrementelle backups im Ordner %destination%\rdiff-backup-data an. Außerdem löscht er mir keine Files nach einem gewissen Datum/Zeit, welche im Quellordner nicht mehr vorhanden sind.


    Die funktion "--remove-older-than" sorgt nur dafür, dass die Inkrementellen Backups in dem Ordner "rdiff-backup-data" gelöscht werden. Die Dateien im Zielordner selbst werden nicht nach der angegebenen Zeit gelöscht.

  • Hi!


    Es gibt ja bei rsync die Möglichkeit, dass du einen Ordner angibst, wo der Unterschied zwischen Quelle und Backup abgelegt wird.
    (weiß sie jetzt allerdings nicht auswendig)


    Damit könntest du dir laufend Ordner erstellen wo die Differenz hingespeichert wird und mit einem Skript die ältesten Ordner löschen.


    Ich habe in der Firma als Backup-Lösung das rsyncbackup.vbs-Skript von c't umgemodelt dass es so etwas macht.


    Falls du nicht weiterkommst muss ich da noch mal reinsehen um die Änderungen rauszusuchen.


    EDIT:
    Habe noch einmal nachgesehen. Die Optionen sind "--backup --backup-dir=BACKUP_FOLDER --delete --delete-excluded".
    Dadurch werden AFAIK die Dateien, die in der Quelle nicht mehr vorhanden sind in den Backup-Ordner ("BACKUP_FOLDER") verschoben. mit "--delete-excluded" werden auch die verschoben, die normalerweise ausgeschlossen sind. Das macht Sinn, wenn sich die Exclude-Parameter ändern.


    Konkret sieht bei mir ein Aufruf so aus (läuft unter WIN, die excludes habe ich weggelassen, da es sehr viele sind):

    Code
    rsync -av --backup --backup-dir="/cygdrive/I/FEA_Backup_Net/_BACKUP/~2011-03-18_07~17" --delete --delete-excluded --exclude ... "/cygdrive/d/FEA" "/cygdrive/I/FEA_Backup_Net"


    Dabei wird von d:\FEA nach i:\FEA_Backup_Net gesichert und die Differenzen werden (in dem Fall) nach i:\FEA_Backup_Net\_BACKUP\~2011-03-18_07~17 verschoben.


    Gruß,
    Brougs78

    - -- --- ================================================================ --- -- -
    Antec Fusion, Intel E5200, Asus P5N7A-VM (VDPAU), DD CineS2 v6 + DD DuoFlex CI // yavdr-0.6.1
    - -- --- ================================================================ --- -- -

    2 Mal editiert, zuletzt von Brougs78 ()

  • Hallo Brougs,


    super genau sowas habe ich gesucht. Damit kann ich nun was Anfangen.
    Dank dir!


    Hier mein daraus entstandenes Alpha-Script ;-):


Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!