Ich weiß, es ist ein großer alter, aber ich habe die obigen Antworten verwendet und eine Anweisung zur Dateikomprimierung hinzugefügt. Hoffentlich findet das jemand anderes nützlich.
1) Ein bisschen recherchiert, scheint 7-zip der beste Kompressor da draußen zu sein. Wenn Ihre Linux-Distribution dies unterstützt, können Sie das apt-Installationsprogramm verwenden:
sudo apt-get install p7zip-full
Alternativ können Sie tar.gz verwenden, wenn Sie sich damit wohler fühlen.
2) Dann erstellen Sie ein Skript, zum Beispiel /home/users/backup.sh
mit dem Inhalt:
#!/bin/sh
find /home/users/backup_MyDB -type f -mtime +7 -exec rm {} +
mysqldump -uroot -p MyDatabase >/home/users/backup_MyDB/$(date +%F)_full_myDB.sql
7z a /home/users/backup_MyDB/$(date +%F)_full_myDB.7z /home/users/backup_MyDB/*.sql
rm -f /home/users/backup_MyDB/*.sql
Dieses Skript findet die Dateien mit mehr als 7 Tagen und löscht sie. Anschließend wird ein SQL-Dump erstellt. Anschließend werden alle .sql-Dateien im Verzeichnis 7-gepackt. Anschließend werden alle .sql-Dateien im Verzeichnis gelöscht. Übrigens können Sie optional einen mysql-Befehl vor dem Speicherauszug hinzufügen (wie in der vorherigen Antwort angegeben, falls erforderlich).
3) Wir machen ein, chmod +x /home/users/backup.shdamit es ausführbar sein kann.
3.1) Sie sollten Ihr Skript testen, wenn es wie vorgesehen funktioniert
4) Wir programmieren die Aufgabe mit crontab -e
# Minute Hour Day of Month Month Day of Week Command
# (0-59) (0-23) (1-31) (1-12 or Jan-Dec) (0-6 or Sun-Sat)
30 4 * * 1-6 /home/users/backup.sh >> /dev/null 2>&1
Und das ist es. Es sichert Ihre MySQL-Datenbank jeden Tag in der Woche um 4:30 Uhr (außer sonntags) und komprimiert die Sicherung