Tutorial: Tartarus Backup

Diskutiere Tutorial: Tartarus Backup im Weitere Serverdienste Forum im Bereich Server; Da ich gerade eine zusätzliche Backup-Routine mit Hilfe von Tartarus gebastelt habe, fasse ich mal alles für die Nachwelt zusammen. Mit Tartarus...
developr

developr

Teammitglied
Dabei seit
11.11.2008
Beiträge
336
Da ich gerade eine zusätzliche Backup-Routine mit Hilfe von Tartarus gebastelt habe, fasse ich mal alles für die Nachwelt zusammen.

Mit Tartarus lassen sich bestimmte Verzeichnisse komprimieren, verschlüsseln und an einem anderen Ort speichern (auch inkrementell, d.h. nur veränderte und neue Daten werden gesichert). In meinem Beispiel sichere ich die Daten via FTP auf einem sich im LAN befindlichen PC.

Zu erst brauchen wir aber natürlich Tartarus. Dies bekommen wir bei debian recht einfach über apt-get install tartarus.
Doch vorerst müssen wir die Quelle in unserer /etc/apt/sources.list einfügen.

Code:
deb http://wertarbyte.de/apt/ ./

Nun können wir mit apt-get update die Paketliste aktualisieren und mit apt-get install tartarus d das Paket installieren.

Da das Paket signiert ist, muss vorher der GnuPG-Schlüssel geladen werden.

Code:
wget -O /etc/apt/sources.list.d/wertarbyte.list http://wertarbyte.de/apt/wertarbyte-apt.list
wget -O - http://wertarbyte.de/apt/software-key.gpg | apt-key add -
apt-get update
apt-get install tartarus

Nun müssen wir eine allgemeine Config erstellen, in der wir die wichtigsten Einstellungen festlegen können. Diese Datei wird später in weitere Dateien inkludiert, sodass spätere Änderungen nur an einer Config vorgenommen werden müssen.

Code:
# /etc/tartarus/generic.inc
STORAGE_METHOD="FTP"
STORAGE_FTP_SERVER="[B]127.0.0.1[/B]"
STORAGE_FTP_USER="[B]BENUTZERNAME[/B]"
STORAGE_FTP_PASSWORD="[B]PASSWORT[/B]"
STORAGE_FTP_USE_SSL="yes"
STORAGE_FTP_SSL_INSECURE="yes"

COMPRESSION_METHOD="gzip"
LVM_SNAPSHOT_SIZE="1000M"

ENCRYPT_SYMMETRICALLY="no"

STAY_IN_FILESYSTEM="yes"

TARTARUS_POST_PROCESS_HOOK() {
    echo -n "$STORAGE_FTP_PASSWORD" | /usr/sbin/charon.ftp \
    --host "$STORAGE_FTP_SERVER" \
    --user "$STORAGE_FTP_USER" --readpassword \
    --maxage [B]7[/B] \
    --dir "$STORAGE_FTP_DIR" --profile "$NAME"
}

Nun legen wir noch eine Config für ein bestimmtes Verzeichnis an, z.B. home.

Code:
# /etc/tartarus/home.conf
source /etc/tartarus/generic.inc
NAME="home"
DIRECTORY="/home"
EXCLUDE="/home/*/logs"
CREATE_LVM_SNAPSHOT="no"
INCREMENTAL_TIMESTAMP_FILE="/var/spool/tartarus/timestamps/home"

Nun sind wir schon fertig :). Mit /usr/sbin/tartarus -i /etc/tartarus/home.conf erstellen wir nun ein komplettes Backup, mit /usr/sbin/tartarus /etc/tartarus/home.conf erstellen wir nur ein inkrementelles Backup.

Haben wir mehr als eine Config, können wir über einen Befehl auch alle Configs einlesen und abarbeiten lassen.

Code:
#!/bin/sh
# /usr/local/sbin/backup.sh
for profile in /etc/tartarus/*.conf; do
  /usr/sbin/tartarus $* "$profile"
done

Nicht vergessen, die Datei auch ausführbar zu machen (chmod 755) ;-).

Nun können wir alle unsere Sicherungen auf einmal durchführen.

Code:
# komplettes Backup
/usr/local/sbin/backup.sh
# nur neue und geänderte Daten
/usr/local/sbin/backup.sh -i

Zum Schluss können wir das natürlich mit crontab -e automatisch starten lassen.

Code:
# m    h       dom     mon     dow     command
0      1       *       *       mon-sat /usr/local/sbin/backup.sh -i
0      1       *       *       sun     /usr/local/sbin/backup.sh

Damit wird nun jeden Sonntag ein komplettes Backup erstellt, alle anderen Tage nur neue und geänderte Daten. Daten, die älter sind als 7 Tage, werden automatisch vom FTP gelöscht.

Viel Spaß =).
 
Thema:

Tutorial: Tartarus Backup

Oben