OTOBO / Znuny - Sicherung und Wiederherstellung - Backup
Überlegungen zum Betrieb von OTOBO
Die Standard-Skripte backup.pl
und restore.pl
können auch mit OTOBO unter Docker verwendet werden. Jedoch müssen einige docker-spezifische Einschränkungen bedacht werden.
Zunächst müssen wir sicherstellen, dass die Sicherungsdateien nicht im Dateisystem erstellt werden, das intern zu einem Docker-Container gehört. Denn in diesem Fall würden die erstellten Dateien verloren gehen, wenn der Container gestoppt wird. Das bedeutet, dass das Sicherungsverzeichnis sich innerhalb eines Volumes befinden muss. In diesem Handbuch betrachten wir nur den einfachsten Fall, in dem das Sicherungsverzeichnis ein lokales Verzeichnis auf dem Docker-Host ist. Der Standort des Sicherungsverzeichnisses im Container kann frei gewählt werden. In diesem Beispiel wählen wir das lokale Verzeichnis otobo_backup
als Standort auf dem Host und /otobo_backup
als Standort im Container.
Zweitens laufen Befehle im Docker-Container üblicherweise als der Benutzer otobo mit der Benutzer-ID 1000 und der Gruppen-ID 1000. Es muss sichergestellt werden, dass dieser Benutzer im Sicherungsverzeichnis schreiben kann.
Zuerst müssen wir das Volume erstellen.
- Erstellen des Sicherungsverzeichnisses auf dem Host
mkdir otobo_backup
- Das Sicherungsverzeichnis dem Benutzer otobo zuweisen, erhöhte Privilegien könnten dafür benötigt werden.
chown 1000:1000 otobo_backup
- Das Docker-Volume erstellen
docker volume create --name otobo_backup --opt type=none --opt device=$PWD/otobo_backup --opt o=bind
- Inspektion des Volumes aus Neugier
docker volume inspect otobo_backup
- Erstellen einer Sicherung
docker run -it --rm --volume otobo_opt_otobo:/opt/otobo --volume otobo_backup:/otobo_backup --network otobo_default rotheross/otobo:latest-10_0 scripts/backup.pl --extra-dump-options="--single-transaction" -d /otobo_backup
- Überprüfen der Sicherungsdatei
tree otobo_backup
Notiz
--extra-dump-options="--single-transaction" verhindert, dass die Datenbanktabellen gesperrt werden, sodass OTOBO während der Sicherung weiterhin verwendet werden kann.
Notiz
Um die Datenbank wiederherzustellen, stellen Sie sicher, dass die Datenbank otobo
existiert und keine Tabellen enthält.
Um eine vorhandene otobo-Datenbank zu löschen und eine neue zu erstellen, können Sie die folgenden Befehle verwenden. Zuerst müssen Sie sich mit dem MySQL-CLI des db Containers verbinden.
cd /opt/otobo-docker
docker-compose exec db bash
mysql -u root -p${MYSQL_ROOT_PASSWORD}
Sobald Sie mit dem MySQL-Server verbunden sind, können Sie die otobo Datenbank löschen und neu erstellen.
DROP DATABASE otobo;
CREATE DATABASE otobo CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL PRIVILEGES ON otobo.* TO 'otobo'@'%';
Für die Wiederherstellung der Sicherung müssen wir auch angeben, welche Sicherung wiederhergestellt werden soll. Der Platzhalter <TIMESTAMP>
ist etwas wie 2024-09-07_09-38
.
docker run -it --rm --volume otobo_opt_otobo:/opt/otobo --volume otobo_backup:/otobo_backup --network otobo_default rotheross/otobo:latest-10_0 scripts/restore.pl -d /opt/otobo -b /otobo_backup/<TIMESTAMP>
OTOBO Dienstleistungen
Wir bieten verschiedene Dienstleistungen rund um OTOBO an. Dazu gehören:
- OTOBO Beratung
- OTOBO Installation
- OTOBO Anpassungen
- OTOBO Schulungen
- OTOBO Support
Wenn du Interesse an unseren Dienstleistungen hast, dann schreib uns eine E-Mail an
tab@softoft.deOder erfahre mehr über unsere OTOBO Dienstleistungen