Disfunctions.de

Das Blog der gnadenlosen Fehlfunktionen!

Befehle für Backup-Strategie des Servers

Erstellt von Matthias am Samstag 3. Oktober 2009

Gestern schrieb ich hier schon, wie unsere Backup Strategie auf dem Server funktioniert. Hintergründe und Sonstiges dazu könnt ihr hier lesen! Nun will ich die Befehle in Verbindung mit den Cron Jobs erklären und zeigen wie diese funktionieren und welcher Teil was bewirkt.

Hier erst mal ganz allgemein der von mir verwendete Befehl. Diesen kann man auch direkt in der Konsole nutzen.


tar cvfz /backups/taeglich/domain.de/backup-name_`date +\%Y-\%m-\%d`.tar.gz /var/www/vhosts/domain.de/httpdocs/

Um diesen etwas besser verständlich zu machen willich mal die einzelnen Teile erklären.
Der erste Teil


tar cvfz

ist dafür zuständig ein Archiv zu packen und im grunde auch der eigentliche Befehl, alles was danach folgt sind die Pfadangaben. Bei diesem Befehl übergebe ich tar die Optionen cvfz.
Jeder Buchstabe hat eine bestimmte Option zur Folge:
c – um ein neues Archiv zu erzeugen
v – um eine ausführliche Ausgabe zu bekommen, wichtig im Zusammenhang mit der Mailbenachrichtigung des Cron-Jobs
f – das neue Archiv von c in eine bestimmte Datei schreiben, die anschließend angegeben wird
z – hiermit wird das Archiv zusätzlich mit gzip komprimiert, um das Archiv kleiner zu halten und Speicherplatz zu sparen
Ich setze ganz bewusst nicht auf inkrementelle Backups, bei denen das Backup lediglich aktualisiert wird, da ich die konkreten Stände der letzten Tage immer haben möchte!


/backups/taeglich/domain.de/backup-name_`date +\%Y-\%m-\%d`.tar.gz

Dieser Bereich des Befehls gibt den Speicherort Namen und Dateiformat des Archives an. Ich habe auf dem Server einen ordner /backups/ und darunter die Ordner /monatlich oder /taeglich, je nachdem wo das Archiv reingeschrieben werden soll. Um die einzelnen Projekte/Websites besser trennen zu können, hat jede einen eigenen Ordner in dem Das Backup gespeichert wird.

Hinten das wirrwar mit `date +\%Y-\%m-\%d` ist dafür zuständig das im Dateinamen ein Zeitstempel mit eingefügt wird. Das heißt, die Backup Datei heißt dann im Endeffekt beispielsweise backup-disfunctions_2009-10-03.tar.gz. Die Optionen Y, m, d geben eben das Datum an. Diese könnte man auch noch um Stunden, Minuten und Sekunden erweitern. Dies wird aber bei Backups die nur einmal täglich ausgeführt werden nicht benötigt. Die Backslashs \ vor den Datumsoptionen sind soweit ich weiß zumindest bei Ubuntu nötig, mehr dazu auch nochmal in einem der nächsten Artikel. Das hat mich nämlich eine Zeit lang beschäftigt.


/var/www/vhosts/domain.de/httpdocs/

Der allerletzte Teil bestimmt den Ordner der überhaupt bestimmt ist. Also von welchem das Backup erzeugt wird. Dabei ist es sinnvoll wirklich den Ordner direkt anzusprechen in dem die Website oder was auch immer liegt. Dies ist eine reine Pfadangabe ohne irgendwelche zusätzlichen Optionen, diese wurden alle schon am Anfang dem Befehl übergeben.

3 Kommentare zu “Befehle für Backup-Strategie des Servers”


  1. pluvo sagt:

    Hallo!

    Anstatt Backquotes kann man bei der Kommandosubstitution auch die Klammervariante verwenden:
    Kommandosubstitution

    Dann musst du die Sonderzeichen auch nicht mehr maskieren.

    Beispiele:

    echo `date +\%Y-\%m-\%d`


    echo $(date +%Y-%m-%d)

    mfg pluvo 🙂


  2. bas89 sagt:

    Mit rsnapshot kann man gleichzeitig inkrementell, aber mit Zugriff auf einzelne Snapshots sichern.


  3. Tofuwurst sagt:

    hat ja jeder so seine eigene „backup-strategie“. Ich persönlich setze auf cpio, und komprimiert wird bei mir auch nicht. Schon zu oft stress mit crc fehlern gehabt…

Kommentar schreiben

XHTML: Sie können diese Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>