#PrismBreak – Daten sichern
Owncloud wurde bei mir so eingerichtet, dass eine PostgreSQL Datenbank genutzt wird. Die Daten, die dort gespeichert werden, sollte man sichern für den Fall, dass der Rechner einmal nicht mehr so will wie man es selbst will. Da auf der PrismBreakBox auch die Mails liegen, sollten diese auch gesichert werden. Und die Sicherungen sollten auch automatisiert laufen.
Zum Komprimieren der Daten nutze ich jetzt pigz. Es verteilt das Komprimieren der Daten auf mehrere Rechenkerne. Zum Installieren folgende Befehle ausführen:
su - apt-get install pigz
Mails sichern
Die vorhandenen Mails werden direkt im Filesystem gesichert. Dazu muss das Backup pro Mailuser eingerichtet werden. Zuerst zum Benutzer wechseln, für den das Backup eingerichtet werden soll:
su - username
Nun wird ein Skript angelegt, welches die Daten in eine Datei zusammenführt und komprimiert. Dazu joe backup-mail.sh ausführen. In die neu zu erstellende Datei folgendes einfügen:
#! /bin/bash CURRENT_DATE=$(date '+%Y%m%d') BACKUP_FILENAME='Maildir.Backup.'$CURRENT_DATE'.tar' BACKUP_COMPRESS_FILENAME='Maildir.Backup.'$CURRENT_DATE'.tar.gz' tar cvf $BACKUP_COMPRESS_FILENAME --use-compress-program /usr/bin/pigz ./Maildir/* ./Maildir/.??* mv $BACKUP_COMPRESS_FILENAME /verzeichnis/wo/backups/abgelegt/werden
Die Skriptdatei mittels folgendem Befehl ausführbar machen:
chmod u+x backup-mail.sh
Nun noch automatisch einmal am Tag das Skript ausführen lassen mittels Cron:
crontab -e
Folgende Zeile am Ende einfügen:
3 5 * * * /home/username/backup-mail.sh
Damit wird morgens um 05 Uhr 03 das Skript aufgerufen.
Datenbanken sichern
Die Datenbanken werden einfach per Datenbank-Dump in einer Datei gesichert. Mit dieser Datei kann man dann die Datenbank im Fall der Fälle wieder herstellen.
Zuerst wechselt man zum root User zurück um dann zum postgres-User wechseln zu können.
exit su - postgres
Dann legt man mittels joe backup_owncloud.sh eine Skriptdatei an und fügt folgendes ein:
#! /bin/bash CURRENT_DATE=$(date '+%Y%m%d') BACKUP_FILENAME='Postgresql.Owncloud.Backup.'$CURRENT_DATE'.dump' BACKUP_COMPRESS_FILENAME='Postgresql.Owncloud.Backup.'$CURRENT_DATE'.dump.gz' pg_dump owncloud > $BACKUP_FILENAME pigz -9 $BACKUP_FILENAME mv $BACKUP_COMPRESS_FILENAME /verzeichnis/wo/backups/abgelegt/werden
Die Skriptdatei mittels folgendem Befehl ausführbar machen:
chmod u+x backup_owncloud.sh
Damit das Skript automatisch ausgeführt wird, wird ein täglicher Cron-Job eingerichtet:
crontab -e
Im Editor folgende Zeile einfügen:
13 6 * * * /var/lib/postgresql/backup_owncloud.sh
Speichern und Editor schliessen. Damit wird das Backupskript jeden Tag um 06 Uhr 13 aufgerufen.