Backup der Datenbank
Die Asterisk-Datenbank ist eine SQLite3-Datei unter
/var/lib/asterisk/astdb.sqlite3. Für ein Backup haben Sie drei
Wege, mit unterschiedlichem Aufwand und unterschiedlicher
Wiederherstellungs-Ergonomie.
Offline-Backup
Am einfachsten und garantiert konsistent: Asterisk anhalten, die Datei kopieren, Asterisk wieder starten.
# systemctl stop asterisk
# cp /var/lib/asterisk/astdb.sqlite3 /backup/astdb-$(date +%F).sqlite3
# systemctl start asterisk
Geeignet für kleine Anlagen oder einen nächtlichen Cron-Job mit kurzem Wartungsfenster.
Online-Backup per SQLite
SQLite kann eine laufende Datenbank atomisch in eine Backup-Datei kopieren — ohne Asterisk anzuhalten:
# sqlite3 /var/lib/asterisk/astdb.sqlite3 ".backup '/backup/astdb-$(date +%F).sqlite3'"
Das ist in der Regel die beste Wahl für produktive Anlagen: kein Ausfall, und die Backup-Datei lässt sich durch einfaches Überkopieren wieder einspielen (Asterisk einmal stoppen, Datei ersetzen, Asterisk wieder starten).
Text-Dump über das CLI
Wer nur den Inhalt als Textdump sichern möchte (z. B. zum Versionieren in git oder für einen Side-by-Side-Diff):
# asterisk -rx "database show" > /backup/astdb-$(date +%F).txt
Der Restore aus einem solchen Dump ist umständlicher — Sie müssen
pro Zeile einen database put-Aufruf machen. Für sporadische
Kontrollen ist das aber eine bequeme Form.
|
Wenn Ihre AstDB sehr klein ist (z. B. nur ein paar Call-Forwarding- und Feature-Flag-Einträge), können Sie den Text-Dump per Cron-Job in ein Git-Repository schreiben — dann haben Sie gratis eine lückenlose Änderungs-Historie. |