Outils pour utilisateurs

Outils du site


backup:bdd

Voici un exemple de script pour exporter ses bases de données MariaDB/MySQL

vi /etc/cron.daily/backup-bdd
/etc/cron.daily/backup-bdd
#!/bin/bash
 
################################################################
##
##   MySQL Database Backup Script 
##   Modifié par Tonio le 03/05/2020
##   Written By: Rahul Kumar
##   URL: https://tecadmin.net/bash-script-mysql-database-backup/
##   Last Update: Jan 05, 2019
##
################################################################
 
export PATH=/bin:/usr/bin:/usr/local/bin
TODAY=`date +"%d%b%Y"`
 
################################################################
################## Mettre à jour les valeurs suivantes #########
 
# Répertoire par défaut sous debian
DB_BACKUP_PATH='/var/backups/dbbackup'
MYSQL_HOST='localhost'
MYSQL_PORT='3306'
MYSQL_USER='root'
MYSQL_PASSWORD='.2r2RZ3SHre5'
BACKUP_RETAIN_DAYS=10   ## Nombre de jour de rétention
 
#################################################################
 
mkdir -p ${DB_BACKUP_PATH}/${TODAY}
echo "Démarrage de la sauvegarde de TOUTES les bases"
 
# Méthode classique
    mysqldump --all-databases \
   -h ${MYSQL_HOST} \
   -P ${MYSQL_PORT} \
   -u ${MYSQL_USER} \
   -p${MYSQL_PASSWORD} \ | gzip > ${DB_BACKUP_PATH}/${TODAY}/mariadb-${TODAY}.sql.gz
 
# Option sans mot de passe / Méthode direct
#    mysqldump --all-databases | gzip > ${DB_BACKUP_PATH}/${TODAY}/mariadb-${TODAY}.sql.gz
 
 
 
if [ $? -eq 0 ]; then
  echo "Bases de données sauvegarde terminées"
else
  echo "Il y a des erreurs à résoudre lors de la sauvegarde"
  exit 1
fi
 
 
##### Effacer les vielles sauvegardes plus vieux que {BACKUP_RETAIN_DAYS}  #####
 
DBDELDATE=`date +"%d%b%Y" --date="${BACKUP_RETAIN_DAYS} days ago"`
 
if [ ! -z ${DB_BACKUP_PATH} ]; then
      cd ${DB_BACKUP_PATH}
      if [ ! -z ${DBDELDATE} ] && [ -d ${DBDELDATE} ]; then
            rm -rf ${DBDELDATE}
      fi
fi
 
### Fin du script ####
chmod +x /etc/cron.daily/backup-bdd
backup/bdd.txt · Dernière modification : 2020/05/03 12:58 de tonio