Debian Lenny: MySQL Backup mit pbzip2 und mysqlhotcopy

2010-01-19 - kostaki 1 Kommentar »
pbzip2-archive

morguefile by macon

Wie schon im MySQL Backups Artikel angesprochen wollte ich gzip mit bzip2 ersetzen und da ich mittlerweile einen Quad Core Prozessor im Server habe will ich diesen natürlich auch nutzen. Dazu bietet sich pbzip2 an und genau das habe ich nun auch im Einsatz. Da ich mysqlhotcopy benutze und die Datenbanken deshalb mit tar archiviere will ich hier direkt pbzip2 einsetzen und dafür brauchte ich die 1.0.5. Version die erst in Debian Squeeze enthalten ist. Auch kein Problem den wie hier beschrieben kann man auch Pakete aus anderen Debian Distributionen installieren.

Bei der Installation darauf achten das wirklich die richtige Version installiert wird! Wenn man sich das installieren der Testing Version sparen möchte kann man im Backup auch erst das tar Archiv erstellen und dann diese im Anschluss mit pbzip2 packen.

$ aptitude -t squeeze install pbzip2

Wenn ihr die 1.0.5. Version habt sieht das Script nun wie folgt aus.

Vorher

FILENAME="$db-`date +%Y_%m_%d_%H_%M_%S`.tar.gz";
$NICE -n 20 $TAR -cPzf "$BACKUPDIR/$DIRNAME/$FILENAME" "$TEMPSAVEDIR";

und Nachher.

FILENAME="$db-`date +%Y_%m_%d_%H_%M_%S`.tar.bz2";
$NICE -n 20 $TAR --use-compress-prog=pbzip2 -cPf "$BACKUPDIR/$DIRNAME/$FILENAME" "$TEMPSAVEDIR";

Jetzt hat mein Server wenigstens mal was zu tun und man sieht auch mal richtige Auslastung in den Munin Charts. :) Das Backup einer 17GB Datenbank hat in der gzip Version ~37 Minuten gedauert. Mit pbzip2 brauche ich nun nur noch 24 Minuten. Dazu kommt natürlich auch das das Archiv vorher 4,2GB groß war und nun gut 1GB kleiner geworden ist. Es hat sich also gelohnt!

Eine weitere Anpassung habe ich noch vorgenommen, die zwar nichts mit diesem Thema zu tun hat, aber mir auch keinen Extra Artikel wert ist. Ich habe DIRNAME leer gemacht und das Datum beim Archivnamen auf den Tag des Monats beschränkt. Damit werden die Backups nun monatlich überschrieben (kommt natürlich auf die Tage des Monats an 28-31). So muss ich mich nicht mehr selbst ums löschen kümmern. Man könnte hier auch Tag der Woche nehmen und damit die Anzahl unterschiedlicher Backups weiter einschränken. Das wäre %u. Für einige sehr große Archive Datenbanken mache ich das auch, da sonst andauernd die Backup Spaces überlaufen würden.

  1. Ein Kommentar

  2. Jenny
    schrieb am 18.03.2010 um 13:43 Uhr

    Hey, nettes Script. Leider brauche ich etwas mehr Funktionen. Nachdem ich etwas gegoogelt hatte fand ich dieses: http://www.monkey-business.biz/282/debian-backup-mittels-paketlisten-mysql-dumps-ftp-upload/ Debian Backup Script für MySQL Datenbanken und den rest der Installation.

Kommentar schreiben

*

*