Warum Datenbank-Backups extra wichtig sind
Ein einfaches Datei-Backup sichert eine laufende Datenbank oft nicht konsistent — mitten im Schreibvorgang kopiert, ist die Sicherung womöglich unbrauchbar. Deshalb exportiert man Datenbanken gezielt mit mysqldump. Das funktioniert für MySQL und MariaDB gleichermaßen.
Ein manuelles Backup
mysqldump -u root -p meine_datenbank > /root/backup_meine_datenbank.sql
Das schreibt die komplette Datenbank als SQL-Datei. Wiederherstellen geht umgekehrt mit mysql -u root -p meine_datenbank < backup.sql.
Ein Backup-Skript
Lege eine Datei /root/db-backup.sh an:
#!/bin/bash DATUM=$(date +%F) ZIEL=/root/db-backups mkdir -p $ZIEL mysqldump -u root -pDEINPASSWORT --all-databases | gzip > $ZIEL/alle_$DATUM.sql.gz find $ZIEL -name "*.sql.gz" -mtime +14 -delete
Das sichert alle Datenbanken komprimiert und löscht Sicherungen, die älter als 14 Tage sind. Mach das Skript ausführbar mit chmod +x /root/db-backup.sh.
Per Cron automatisieren
Täglich um 3 Uhr nachts ausführen — in die Crontab eintragen (crontab -e):
0 3 * * * /root/db-backup.sh >> /var/log/db-backup.log 2>&1
Läuft der Job nicht, hilft der Artikel Cronjob läuft nicht.
Sicher lagern
Ein Backup auf demselben Server schützt nicht vor Server-Verlust. Kopiere die Sicherungen zusätzlich an einen anderen Ort, etwa auf günstigen Cloud-Speicher. Die 3-2-1-Regel dazu steht im Artikel 3-2-1-Backup-Strategie.
Wiederherstellung testen
Ein Backup, das sich nicht zurückspielen lässt, ist wertlos. Teste die Wiederherstellung mindestens einmal. Den Server dafür gibt es bei den Nytrix vServern mit voller Kontrolle.