Il s'agit d'automatiser la sauvegarde d'une base Mysql sous linux / Debian.
Il faut créer un script (.sh) qui réalise la sauvegarde et le nommage du fichier. Ensuite on créé une tâche planifiée (cron) qui exécute périodiquement la commande. Enfin un script de nettoyage pourra être créé pour supprimer les anciens fichiers en fonction de la politique retenue.
Crée un fichier de sauvrgarde backup-mysql-ati.sh
#!/bin/sh
# sauvegarde automatisée mysql
# Paramètres ---------------------------
USER=user
PASS=xxxxx
DESTINATION=/mnt/hnas/mysqlbackups
DB_NAME=ati
DATE=`date +%Y-%m-%d`
TIME=`date +%H:%M`
# Démarrage du script ------------------
# le echo sortira dans le fichier de log
echo "$DATE - $TIME - démarrage"
# Dump de la BDD
mysqldump -u $USER --password=$PASS $DB_NAME | gzip > $DESTINATION/$DB_NAME-$TIME.$DATE.sql.gz
# Fin de la sauvegarde -----------------
echo "$DATE - $TIME - Fin"
On définit une sauvegarde toutes les 6 heures dans le répertoire pointé par le script de sauvegarde. Le log (/home/vagrant/mysqlbackups/backup.log) est alimenté par la sortie du script (echo...)
crontab -e
# Ajouter
* */6 * * * /home/vagrant/mysqlbackups/backup-mysql-ati.sh >>/home/vagrant/mysqlbackups/backup.log