Sauvegarde MySQL · 3 min read · Jan 26, 2026
Créer des sauvegardes MySQL avec AutoMySQLBackup
Créer des sauvegardes MySQL avec AutoMySQLBackup
Version 1.0
Auteur : Falko Timme
AutoMySQLBackup est un script shell qui vous permet de prendre des sauvegardes quotidiennes, hebdomadaires et mensuelles de vos bases de données MySQL en utilisant mysqldump. Il peut sauvegarder plusieurs bases de données, compresser les sauvegardes, sauvegarder des bases de données distantes et envoyer les journaux par e-mail.
Je ne garantis pas que cela fonctionnera pour vous !
1 Remarque préliminaire
AutoMySQLBackup utilise mysqldump pour créer des dumps SQL de vos bases de données. Veuillez noter que mysqldump verrouillera vos bases de données pendant que la sauvegarde est en cours de création, et cela peut prendre de moins d’une seconde à quelques minutes, selon la taille de votre base de données. Si vous gérez un site web à fort trafic avec une grande base de données, alors AutoMySQLBackup n’est pas pour vous !
Ce script ne vous aidera pas en cas de crash de disque dur. Vous devriez copier vos sauvegardes hors ligne régulièrement pour une meilleure protection.
2 Utilisation d’AutoMySQLBackup
Vous pouvez télécharger AutoMySQLBackup comme suit :
cd /usr/local/bin
wget http://mesh.dl.sourceforge.net/sourceforge/automysqlbackup/automysqlbackup.sh.2.5
Ensuite, ouvrez automysqlbackup.sh.2.5 et jetez un œil aux options de configuration. Elles sont toutes bien expliquées. Vous devriez au moins configurer les paramètres suivants :
vi automysqlbackup.sh.2.5| [...] USERNAME=root [...] PASSWORD=yourrootsqlpassword [...] DBHOST=localhost [...] # Liste des DBNAMES pour la sauvegarde quotidienne/hebdomadaire par exemple "DB1 DB2 DB3" DBNAMES="db_ispconfig web1 web2 web3" [...] # Emplacement du répertoire de sauvegarde par exemple /backups BACKUPDIR="/backups" [...] # Adresse e-mail pour envoyer le mail ? ([email protected]) MAILADDR="[email protected]" [...] |
DBNAMES peut contenir une ou plusieurs bases de données, séparées par des espaces.
Si BACKUPDIR n’existe pas, automysqlbackup.sh.2.5 le créera automatiquement.
Assurez-vous de remplir le bon mot de passe et l’hôte de la base de données. Si vous souhaitez sauvegarder des bases de données locales, utilisez localhost ; si vous souhaitez sauvegarder des bases de données distantes, utilisez le nom d’hôte distant (veuillez noter que le serveur de base de données distant doit être configuré pour autoriser les connexions distantes !).
Maintenant, nous devons rendre le script exécutable :
chmod 755 automysqlbackup.sh.2.5Maintenant, vous pouvez exécuter automysqlbackup.sh.2.5 comme ceci si vous êtes dans le répertoire /usr/local/bin :
./automysqlbackup.sh.2.5 … ou comme ceci depuis n’importe quel autre répertoire :
automysqlbackup.sh.2.5Voici un exemple de sortie :
AutoMySQLBackup VER 2.5
http://sourceforge.net/projects/automysqlbackup/
Heure de début de la sauvegarde Ven Oct 17 16:00:51 CEST 2008
Sauvegarde quotidienne de la base de données ( db_ispconfig )
Rotation de la dernière sauvegarde de la semaine…
Informations de sauvegarde pour /backups/daily/db_ispconfig/db_ispconfig_2008-10-17_16h00m.Vendredi.sql
compressé non compressé ratio nom_non_compressé
37231 382465 90.3% /backups/daily/db_ispconfig/db_ispconfig_2008-10-17_16h00m.Vendredi.sql
———————————————————————-
Fin de la sauvegarde Ven Oct 17 16:00:52 CEST 2008
Espace disque total utilisé pour le stockage des sauvegardes..
Taille - Emplacement
68K /backups
Si vous trouvez AutoMySQLBackup utile, veuillez faire un don à
http://sourceforge.net/project/project_donations.php?group_id=101066
server1:~#
Jetez un œil au répertoire /backups…
ls -l /backups… et vous devriez trouver trois sous-répertoires, quotidien, hebdomadaire et mensuel :
server1:~# ls -l /backups/
total 12
drwxr-xr-x 3 root root 4096 2008-10-17 16:00 quotidien
drwxr-xr-x 2 root root 4096 2008-10-17 16:00 mensuel
drwxr-xr-x 3 root root 4096 2008-10-17 16:00 hebdomadaire
server1:~#
Ces répertoires contiendront des sous-répertoires nommés d’après les bases de données que vous avez choisies de sauvegarder. Par exemple, si vous avez choisi la base de données db_ispconfig, il y aura un répertoire /backups/daily/db_ispconfig contenant le dump de la base de données :
cd /backups/daily/db_ispconfig
ls -l
server1:/backups/daily/db_ispconfig# ls -l
total 40
-rw-r–r– 1 root root 37231 2008-10-17 16:00 db_ispconfig_2008-10-17_16h00m.Vendredi.sql.gz
server1:/backups/daily/db_ispconfig#
L’extension .gz signifie qu’il est compressé. Pour restaurer une base de données, vous devez d’abord décompresser le dump :
gunzip db_ispconfig_2008-10-17_16h00m.Vendredi.sql.gz… (cela vous donnera le dump décompressé nommé db_ispconfig_2008-10-17_16h00m.Vendredi.sql) et ensuite le restaurer comme décrit sur https://www.howtoforge.com/faq/6_4_en.html.
Bien sûr, vous ne voulez pas exécuter automysqlbackup.sh.2.5 manuellement tout le temps. Par conséquent, nous pouvons créer un travail cron quotidien pour cela comme suit :
cd /etc/cron.daily/
ln -s /usr/local/bin/automysqlbackup.sh.2.5 automysqlbackup
3 Liens
- AutoMySQLBackup : http://sourceforge.net/projects/automysqlbackup/
- MySQL : http://www.mysql.com/
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.