Zuverlässiger OTOBO Betrieb & Support
Verlässliche Unterstützung bei Updates, Staging-Instanzen, Desaster-Recovery-Konzepten und technischem 2nd-Level-Support.

In diesem Guide: OTOBO-Daten mit bewährten Backup- und Restore-Strategien schützen.
Verwandte Themen: Staging-System · Hosting · Performance · Support
In dieser Anleitung tauchen wir tief in die Backup‑Strategien für OTOBO ein und betrachten:
mysqldumpbackup.pl und restore.plmysqldumpVorteil: Schnell, plattformunabhängig, enthält nahezu alle Tickets, Nutzer und Einstellungen.
mysqldump \ --host=${DB_HOST} \ --user=${DB_USER} \ --password=${DB_PASS} \ --column-statistics=0 \ --single-transaction \ --databases otobo \ > /backup/otobo_db_$(date +'%Y%m%d_%H%M').sql--single-transaction: Minimiert Table‑Locks, OTOBO bleibt verfügbar.0 * * * * /usr/local/bin/otobo_db_backup.sh
otobo_db_backup.sherstellt Dump und löscht Dateien älter als 3 Tage.
otobo_db_backup.sh#!/bin/bashBACKUP_DIR="/backup/db"mkdir -p "$BACKUP_DIR"DATE=$(date +'%Y%m%d_%H%M')FILE="$BACKUP_DIR/otobo_db_${DATE}.sql.gz"
echo "Erstelle DB-Dump nach $FILE"mysqldump --host=localhost --user=otobo \ --password=SecretPass --column-statistics=0 \ --single-transaction otobo | gzip > "$FILE"find "$BACKUP_DIR" -type f -name '*.sql.gz' -mtime +3 -deleteAlle persistent gespeicherten Dateien (Attachments, Konfiguration, Logs) liegen in Docker‑Volumes.
#!/bin/bashdate=DATE=$(date +'%d%m%Y_%H%M%S')# Container herunterfahren für konsistentes Dateisystemdocker compose -f /opt/otobo-docker/compose.yml down
tar -czf "/tmp/docker_volumes_$DATE.tar.gz" /var/lib/docker/volumes
docker compose -f /opt/otobo-docker/compose.yml up -d --build#!/bin/bash# Usage: restore_volumes.sh backup_file.tar.gztar -xzf "$1" -C /# Alte Volumes entfernendocker compose -f /opt/otobo-docker/compose.yml downrm -rf /var/lib/docker/volumes# Wiederherstellen und neu startentar -xzf "$1" -C /docker compose -f /opt/otobo-docker/compose.yml up -dbackup.pl & restore.plOTOBO liefert eigene CLI‑Skripte im Container:
# Hilfe anzeigen/opt/otobo/scripts/backup.pl -h| Option | Default | Beschreibung |
|---|---|---|
-d, --backup-dir | erforderlich | Zielverzeichnis für Backups |
-c, --compress | gzip | Kompressionsmethode (gzip | bzip2) |
-r, --remove-old-backups DAYS | keine | Löscht ältere Backups (in Tagen) |
-t, --backup-type | fullbackup | fullbackup (alles) | nofullbackup | dbonly |
fullbackup: Datenbank + Home‑Verzeichnis (ohne Cache).
dbonly: Nur Datenbank.
docker run --rm \ --volume otobo_opt_otobo:/opt/otobo \ --volume otobo_backup:/otobo_backup \ rotheross/otobo:latest-10_0 scripts/backup.pl \ --backup-dir /otobo_backup --compress gzip --remove-old-backups 7docker run --rm \ --volume otobo_opt_otobo:/opt/otobo \ --volume otobo_backup:/otobo_backup \ rotheross/otobo:latest-10_0 scripts/restore.pl \ --backup-dir /otobo_backup/20231015_123045 --backup-dir /opt/otobo#!/bin/bashCOMPOSE_FILE="/opt/otobo-docker/compose.yml"# Backup startendocker compose -f "$COMPOSE_FILE" run --rm backupif [ $? -ne 0 ]; then echo "Backup fehlgeschlagen" >&2 exit 1fiecho "Backup erfolgreich abgeschlossen"0 */6 * * * /usr/local/bin/volume_backup.sh#!/bin/bashBACKUP_DIR="/pfad/zu/backups"echo "Entferne Backups älter als 30 Tage in $BACKUP_DIR"find "$BACKUP_DIR" -mindepth 1 -mtime +30 -exec rm -rf {} \\ \;echo "Fertig.".tar.gz und .sql.gz per aws cli oder Python‑Script.Im Bereich Backup & Restore weichen OTOBO und Znuny in folgenden Aspekten ab:
Container‑Backups
docker compose run backup), inklusive vorbereiteter Volume‑Mounts und Umgebungsvariablen.OTOBO CLI‑Scripts
backup.pl und restore.pl im Image unterstützen automatische Aufräum‑Optionen (--remove-old-backups), Kompressionsauswahl und Single‑Transaction‑Flag.--remove-old-backups oder erweiterten DB‑Dump‑Optionen; Nachrüsten per Anpassung nötig.DB‑Dump‑Optimierungen
--single-transaction empfohlen und dokumentiert, um Locks zu vermeiden; CLI sorgt für konsistente Nutzung.Volume‑Snapshot‑Strategie
Automation & Cloud‑Plugins
rclone oder separate Upload‑Skripte.Mit diesem Fokus auf backup‑spezifische Unterschiede können Sie gezielt entscheiden, ob Sie die vorgefertigten OTOBO‑Mechanismen nutzen oder Znuny‑Setups individuell erweitern.## 6. Fazit
Mit diesen detaillierten Skripten und Strategien sind Ihre OTOBO‑Daten sicher gesichert, automationsfähig und schnell wiederherstellbar. Egal ob DB‑Dump, Docker‑Volumes oder OTOBO‑Standard‑Tools – Sie haben alle Optionen im Griff.
Zuverlässiger OTOBO Betrieb & Support
Verlässliche Unterstützung bei Updates, Staging-Instanzen, Desaster-Recovery-Konzepten und technischem 2nd-Level-Support.
Ein vollständiges OTOBO-Backup umfasst mehrere kritische Komponenten, um eine vollständige Wiederherstellung des Systems zu gewährleisten. Dazu gehören in erster Linie die Datenbank, die alle Tickets, Benutzerinformationen und Konfigurationseinstellungen speichert. Des Weiteren sind die Anwendungsdaten von großer Bedeutung, welche Artikel, Anhänge und weitere spezifische Konfigurationsdateien beinhalten. Bei einer Docker-Installation müssen zusätzlich die Docker-Volumes gesichert werden, da diese alle persistenten Dateien wie Attachments, Logs und die OTOBO-Konfiguration enthalten. Ein umfassendes Backup sollte also eine Kombination aus Datenbank-Dumps und Dateisystem- bzw. Volume-Backups sein, um Datenverlust zu vermeiden und die Systemintegrität zu sichern. Regelmäßige Tests der Wiederherstellung sind dabei essenziell, um die Funktionsfähigkeit der Backups zu überprüfen.
Quellen
Die OTOBO-Datenbank kann effizient mit dem mysqldump-Befehl gesichert werden. Ein wichtiger Parameter hierbei ist --single-transaction, der Table-Locks minimiert und OTOBO während des Backups verfügbar hält. Dies ist besonders wichtig in Umgebungen mit hoher Last. Es wird empfohlen, einen Cron-Job einzurichten, der stündlich einen Dump erstellt und ältere Dumps (z.B. nach 3 Tagen) automatisch löscht, um Speicherplatz zu sparen. Ein Beispielskript wie otobo_db_backup.sh kann den Dump komprimieren (z.B. mit gzip) und in einem definierten Backup-Verzeichnis speichern. Dies gewährleistet eine schnelle, plattformunabhängige und konsistente Sicherung Ihrer Datenbank, die nahezu alle relevanten Daten enthält.
Quellen
Für ein konsistentes Backup der OTOBO Docker-Volumes ist es ratsam, die Docker-Container vor dem Backup herunterzufahren. Dies garantiert eine saubere Kopie des Dateisystems und verhindert Inkonsistenzen durch laufende Schreibvorgänge. Nach dem Herunterfahren mit docker compose down können die Volumes mit tar -czf in eine GZ-komprimierte TAR-Datei archiviert werden. Ein Beispielskript zeigt, wie das Verzeichnis /var/lib/docker/volumes gesichert wird. Nach dem Backup werden die Container mit docker compose up -d --build wieder gestartet. Für die Wiederherstellung werden die alten Volumes entfernt, das Archiv entpackt und die Container neu gestartet. Dies stellt sicher, dass alle persistenten Daten wie Attachments und Konfigurationen korrekt gesichert und wiederhergestellt werden.
Quellen
OTOBO bietet eigene CLI-Skripte, backup.pl und restore.pl, die im Docker-Image vorinstalliert sind und eine komfortable Möglichkeit zur Sicherung und Wiederherstellung des Systems darstellen. Das backup.pl-Skript unterstützt verschiedene Backup-Typen wie fullbackup (Datenbank + Home-Verzeichnis ohne Cache) oder dbonly (nur Datenbank). Es ermöglicht die Auswahl der Kompressionsmethode (z.B. gzip oder bzip2) und bietet eine Option zum automatischen Löschen älterer Backups (--remove-old-backups DAYS). Diese Skripte sind besonders nützlich für automatisierte Backup-Prozesse innerhalb des Docker-Containers, da sie bereits für die OTOBO-Umgebung optimiert sind und die Konsistenz der Daten gewährleisten. Die Wiederherstellung erfolgt analog mit restore.pl unter Angabe des Backup-Verzeichnisses.
Quellen
Die Automatisierung von OTOBO-Backups ist entscheidend für eine zuverlässige Datensicherung. Dies kann durch Cron-Jobs realisiert werden, die regelmäßig Backup-Skripte ausführen. Für Docker-Umgebungen empfiehlt sich ein Wrapper-Skript, das den Backup-Vorgang über docker compose run --rm backup startet. Eine integrierte Fehlerbeüberprüfung ist dabei unerlässlich: Das Skript sollte den Exit-Code des Backup-Befehls prüfen (if [ $? -ne 0 ]; then ...), um bei Fehlern eine Benachrichtigung zu senden oder weitere Aktionen auszulösen. Zusätzlich sollte ein separater Cron-Job für das Aufräumen alter Backups eingerichtet werden, um Speicherplatz zu verwalten und die Retention-Richtlinien einzuhalten. Regelmäßige Restore-Läufe sind ebenfalls wichtig, um die Integrität der Backups zu validieren.
Quellen
Für die Langzeitarchivierung von OTOBO-Backups in der Cloud bieten sich verschiedene Lösungen an, die Offsite-Storage und unbegrenzte Skalierung ermöglichen. Eine gängige Methode ist der Upload der komprimierten Backup-Dateien (z.B. .tar.gz und .sql.gz) zu AWS S3 mithilfe des aws cli oder eines Python-Skripts. Alternativ kann rclone verwendet werden, ein vielseitiges Befehlszeilenprogramm, das eine breite Palette von Cloud-Speicherdiensten wie Azure Blob Storage, Google Cloud Storage, FTP und viele andere unterstützt. Diese Cloud-Lösungen bieten nicht nur eine hohe Verfügbarkeit und Redundanz, sondern auch oft kostengünstige Speicheroptionen für selten benötigte Archivdaten, was sie ideal für die Langzeitaufbewahrung macht.
Quellen
OTOBO bietet im Vergleich zu anderen Systemen wie Znuny spezifische Vorteile und optimierte Backup-Strategien, insbesondere im Docker-Kontext. OTOBOs offizielles Docker-Image enthält einen vorinstallierten Backup-Service mit CLI-Hooks (docker compose run backup), vorbereiteten Volume-Mounts und Umgebungsvariablen. Die OTOBO CLI-Skripte backup.pl und restore.pl unterstützen automatische Aufräum-Optionen (--remove-old-backups), Kompressionsauswahl und das --single-transaction-Flag für konsistente DB-Dumps. Bei Znuny erfordern Community-Docker-Setups oft manuelle Anpassungen oder das Hinzufügen eigener Backup-Container. Auch bei DB-Dump-Optimierungen und Volume-Snapshot-Strategien bietet OTOBO offizielle Referenzskripte und eine stärkere Integration, während Znuny-Anwender häufig eigene Lösungen entwickeln müssen. Zudem bietet OTOBO integrierte S3-Uploader-Beispiele und Konfigurationsmodule für Cloud-Storage, die bei Znuny oft über externe Tools wie rclone realisiert werden.
Quellen