Redmine mit dem Bitnami Docker-Image sichern

English Deutsch

In einem vorherigen Beitrag habe ich beschrieben, wie man Redmine auf Linux mit dem hervorragenden Bitnami Docker-Image installiert.

Dieser Beitrag zeigt dir, wie du einfach ein Online-Backup deiner Redmine-Installation erstellst. Beachte, dass die Automatisierung des Backups nicht Gegenstand dieses Beitrags ist.

Wir nehmen an, dass Redmine wie in meinem vorherigen Beitrag in /var/lib/redmine installiert ist und dass du nach my.backup.server:~/redmine-backup/ mit rsync sichern möchtest.

Redmine-Daten sichern

Das ist ziemlich einfach, da sich die Daten alle in nur einem Verzeichnis befinden. Du kannst sie synchronisieren mit

rsync-redmine-data.sh
rsync --checksum -Pavz /var/lib/redmine/redmine_data my.backup.server:~/redmine-backup/

Beachte, dass alte Versionen von Dateien in redmine_data überschrieben werden, jedoch werden lokal gelöschte Dateien nicht auf dem Backup-Server gelöscht. Für mich scheint dies ein guter Kompromiss zwischen der Möglichkeit, gelöschte Dateien wiederherzustellen, und dem genutzten Speicherplatz zu sein.

Redmine-Datenbank sichern

Dieser Teil ist etwas komplizierter, da wir auf den MariaDB-Server zugreifen müssen, der in einem anderen Container läuft. Wichtiger Hinweis: Die Container-ID kann sich ändern, daher reicht es nicht aus, die Container-ID einmal zu finden und dann zu verwenden. Du musst die entsprechende ID jedes Mal ermitteln, wenn du ein Backup durchführst. Siehe unten für Anweisungen, wie das geht.

Vollständiger Befehl:

dump-redmine-db.sh
docker exec -it $(docker container ls | grep redmine_mariadb_1 | cut -d' ' -f1) mysqldump -uroot bitnami_redmine | xz -e9 -zc - > redmine-database-dump-$(date -I).sql.xz

Lass es uns aufschlüsseln:

Die resultierende Datei heißt z.B. redmine-database-dump-2019-02-01.sql.xz und wird im aktuellen Verzeichnis abgelegt. Stelle sicher, dass du den Befehl in einem geeigneten Verzeichnis ausführst. Führe ihn in /tmp aus, wenn du nicht weißt, welches Verzeichnis geeignet sein könnte.

Nun können wir sie mit rsync auf den Server übertragen:

rsync-db-backup.sh
rsync --checksum -Pavz redmine-backup-*.sql.xz my.backup.server:~/redmine-backup/

Da der Dateiname das aktuelle Datum enthält, überschreibt dieser Ansatz keine alten täglichen Datenbank-Backups, sodass du deine Datenbank sehr flexibel wiederherstellen kannst.


Check out similar posts by category: Container, Docker, Linux, Project Management