Übersetzung der Rev. 9

Sichern und Wiederherstellen von Redmine

Backup

Redmine-Backups sollten Folgendes enthalten:

  • Datenbank
  • Anhänge (standardmäßig im files Ordner unter dem Installationsverzeichnis gespeichert)

Sicherung der Datenbank

MySQL

Mit dem Befehl mysqldump können Sie den Inhalt Ihrer MySQL-Datenbank in einer Textdatei sichern. Zum Beispiel:

/usr/bin/mysqldump -u <username> -p<password> -h <hostname> <redmine_database> > /path/to/backup/db/redmine.sql

Sie finden <username>, <password>, <hostname> und <redmine_database> in der Datei config/database.yml. <host_name> ist je nach Installation der Datenbank möglicherweise nicht erforderlich.

PostgreSQL

Mit dem Befehl pg_dump können Sie den Inhalt einer PostgreSQL-Datenbank in einer Textdatei sichern. Hier ist ein Beispiel:

/usr/bin/pg_dump -U <username> -h <hostname> -Fc --file=redmine.sqlc <redmine_database>

Sie finden <username>, <hostname> und <redmine_database> in der Datei config/database.yml. <hostname> ist abhängig von Ihrer Installation der Datenbank möglicherweise nicht erforderlich. Der Befehl pg_dump fordert Sie bei Bedarf zur Eingabe des Kennworts auf.

SQLite

SQLite-Datenbanken bestehen jeweils nur aus einer einzigen Datei, sodass diese recht einfach durch eine Kopie an einen anderen Speicherort gesichert werden können.

Sie können den Dateinamen der SQLite-Datenbank anhand der Konfigurationsdatei ermitteln. Diese liegt unter config/database.yml.

Anhänge sichern

Alle Datei-Uploads werden in attachments_storage_path gespeichert (standardmäßig in das Verzeichnis files/). Sie können den Inhalt dieses Verzeichnisses an einen anderen Speicherort kopieren, um es einfach zu sichern.

WARNUNG: attachments_storage_path verweist möglicherweise auf ein anderes Verzeichnis als files/. Überprüfen Sie unbedingt die Einstellung in config/configuration.yml, um eine korrekte Sicherung sicherstellen zu können.

Beispielsicherungsskript

Hier ist ein einfaches Shell-Skript, das für tägliche Sicherungen verwendet werden kann (vorausgesetzt, Sie verwenden eine MySQL-Datenbank):

# Database
/usr/bin/mysqldump -u <username> -p<password> <redmine_database> | gzip > /path/to/backup/db/redmine_`date +%Y-%m-%d`.gz

# Attachments
rsync -a /path/to/redmine/files /path/to/backup/files

Wiederherstellung

Datenbank wiederherstellen

MySQL

Wenn Sie beispielsweise eine komprimierte Sicherungsdateisdatei mit dem Namen 2018-07-30.gz haben, kann die Datenbank mit dem folgenden Befehl wiederhergestellt werden:

gunzip -c 2018-07-30.gz | mysql -u <username> --password <redmine_database>
Enter password:

PostgreSQL

Wenn die Option -Fc des Befehls pg_dump wie im obigen Beispiel verwendet wird, müssen Sie den Befehl pg_restore verwenden:

pg_restore -U <username> -h <hostname> -d <redmine_database> redmine.sqlc

andernfalls kann eine Textdatei mit dem Befehl psql wiederhergestellt werden:

psql <redmine_database> < <infile>

SQLite

Kopieren Sie die Datenbankdatei einfach von Ihrem Sicherungsordner in den Zielordner.

Anhänge wiederherstellen

Kopieren Sie die Dateien aus Ihrem Sicherungsordner wieder in das entsprechende Zielverzeichnis zurück.