Retourner à la liste des tutos

Comment faire un backup de toutes les BDD dans des fichiers respectifs ?


Avec la commande suivante on fait un backup de toutes les bases dans un seul et unique fichier :

Bash
mysqldump -u root -p --all-databases > all_dbs.sql


Pour effectuer un backup de toutes les bases présentes sur un serveur en exportant chaque base dans son fichier respectif il faut adapter ce script à son serveur et là, tout fonctionne parfaitement !

Bash


#! /bin/bash

TIMESTAMP=$(date +"%F")
BACKUP_DIR="/backup/$TIMESTAMP"
MYSQL_USER="backup"
MYSQL=/usr/bin/mysql
MYSQL_PASSWORD="password"
MYSQLDUMP=/usr/bin/mysqldump

mkdir -p "$BACKUP_DIR/mysql"

databases=`$MYSQL --user=$MYSQL_USER -p$MYSQL_PASSWORD -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema|performance_schema)"`

for db in $databases; do
  $MYSQLDUMP --force --opt --user=$MYSQL_USER -p$MYSQL_PASSWORD --databases $db | gzip > "$BACKUP_DIR/mysql/$db.gz"
done