[Tuto] Sauvegarde automatique d'un serveur MySQL
-
L’objectif est de sauvegarder toutes les bases d’un serveur MySQL de façon régulière et automatique.
- Création de l’utilisateur
On va utiliser un utilisateur spécial pour mysqldump.
GRANT LOCK TABLES, SELECT ON *.* TO backup@localhost;
- Script de sauvegarde
On sauvegarde l’ensemble des bases tous les jours, on utilise cron pour cela, en créant le fichier mysql-backup
nano /etc/crond/daily/mysql-backup
ou l’on renseignement :
#!/bin/bash mysqldump --all-database -u backup > /home/backup/mysql/db.dump
Il faut rendre exécutable le fichier :
sudo chmod 755 mysql-backup
- Rotation des sauvegarde
Pour que les sauvegardes tournent sur un certain temps, il suffit d’utiliser logrotate.
nano /etc/logrotate.d/mysql-backup
/home/backup/mysql/db.dump { daily rotate 30 compress missingok dateext }
En l’occurrence les sauvegardes tournent tous les jours et sont conservées pendant 30 jours.
Sauf mention contraire, le site est placé sous double licence Creative Commons BY-SA et GNU Free Documentation License propulsé par NodeBB