backup mit dump

Updates:
20100210: Erstveroeffentlichung v1.0
20100302: Update auf Version 1.01, Einfuehrung automatische Installation, diverse automatismen ergänzt.

Der “Dump’o'Mat“.

Das Dump lebt von folgender beipielhaften Reihenfolge bei taeglichen Backups:

  • Am 1. eines Monats (oder wenn noch kein Level 0 im selben Monat existieren sollte) laeuft ein Level 0 Dump (D.h. ein komplett Backup des Systems)
  • Es folgen in den Tagen darauf bis zum ersten/naechsten Samstag jeden Tag ein Level 2 Dump (Dieses Level sichert alles was sich seit dem letzten Level 0 Dump geaendert hat)
  • Am ersten/naechsten Sonntag folgt dann ein Level 1 Dump (Dieser Dump sichert alles was sich seit dem letzten Level 0 Dump geaendert hat, und damit sind die 2′er Dunps der letzten Woche hinfaelling und koennen entfernt werden, ebenfalls das vorletzte Level 1 Dump nach der 2. Woche)
  • Darauf die 6 Tage folgen wieder die taeglichen Level 2 Dumps (Die sichern wiederum alles was sich seit dem letzen Level 1 Dump geaendert hat)
  • Als Highligt generiert das Skript am Ende eine Statusmail an der schon im Betreff erkannt werden kann, ob die Sicherung erfolgreich war oder eben nicht.
  • Nochmal in der Monatsuebersicht am Beispiel April 2010 (1. is ein Donnerstag):
    0 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2
    und Mai 2010 (1. ist ein Samstag):
    0 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2

    Damit ist sichergestellt, das wenn am vorletzen Tag eines Monats die Platte zerreißt, wir NICHT alle Dumps nacheinander einspielen muessen.
    Es reicht dann nacheinander zuerst der 0, dann der letzte 1 und dann der letzte 2 Dump vor dem Crash (oben FETT markiert).

    Die Logik wird in Cron abgebildet, die das Skript mit den entsprechenden Parametern aufruft. Alles was ihr benoetigt ist genuegend Speicherplatz und etwas Zeit. Deutlicher wird das ganze vielleicht an einem Beispiel aus der Praxis. Die Tage bei mir selber umgesetzt.

    Die Zutaten

    Eine externe USB Festplatte (mit UFS formatiert mit dem Label BACKUP. Einhaengeort ist /mnt/backup )

    #> fdisk -v -I /dev/da0
    #> bsdlabel -w /dev/da0s1
    #> newfs -U -O2 -L BACKUP /dev/da0s1a

    Das Skript als Benutzer “root” installieren:

    # su -
    # fetch "http://www.bsdbox.de/downloads/dumpomat/dumpomat_installer.sh"
    # chmod +x dumpomat_installer.sh
    # ./dumpomat_installer.sh

    Es empfiehlt sich das Skript einmal manuell auszufuehren, um zu sehen welchen Platzanspruch ein Vollbackup hat und wie lange das ganze dauert. Dazu setzt auf jeden Fall in der dumpomat.conf den Wert “KONSOLE” auf 1 (Voreinstellung).

    ACHTUNG: Das Ziellaufwerk wird vorher im Skript geprueft, eingehaengt und danach wieder ausgehaengt (wenn moeglich)!

    #> dumpomat.sh ZIELPFAD ZIELLAUFWERK
    (z.b. dumpomat.sh /mnt/backup /dev/ufs/BACKUP”)

    Wird KEIN Ziellaufwerk angegeben, wird auch kein Medium eingebunden. Dann unbedingt darauf achten, das der Zielpfad auf einer anderen Festplatte liegt!

    Das Zielmedium als Option zu definieren ermoeglicht die Verteilung der Dumps auf verschiedene Medien, ohne das Skript anpassen zu muessen. Der Einfachkeit halber sichern wir hier in diesem Beispiel immer auf das selbe Medium (/dev/ufs/BACKUP).

    Im CRON muss nur folgende Einzeiler rein (Jede Nacht um 0 Uhr):
    #> ee /etc/crontab
    0 0 * * * root /root/dumpomat.sh /mnt/backup /dev/ufs/BACKUP

    Deinstallieren:
    # su -
    # ./dumpomat_installer.sh d

    One Response to backup mit dump

    1. Pingback: Automatisches Backup mit dump (dump’o’mat) « bsdbox