Voici un exemple de script pour exporter ses bases de données MariaDB/MySQL
vi /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