First commit
This commit is contained in:
43
roles/mariadb/files/backup_mysql.sh
Normal file
43
roles/mariadb/files/backup_mysql.sh
Normal file
@@ -0,0 +1,43 @@
|
||||
#!/bin/bash
|
||||
##########
|
||||
# THIS FILE IS MANAGED BY ANSIBLE
|
||||
# ANY MODIFICATION IS LIKELY TO BE ERASED
|
||||
##########
|
||||
##############################################
|
||||
# Nom : backup_mysql.sh
|
||||
# Objet : Dump les bases mysql
|
||||
# listees dans $backup_db_list
|
||||
# dans le dossier $backup_dump_path, un sous-dossier par base
|
||||
###############################################
|
||||
|
||||
# Chemin de stockage des dump
|
||||
backup_dump_path="/srv/backup/mysql/"
|
||||
|
||||
# Liste des bases a sauvegarder séparées par des espaces
|
||||
backup_db_list=`echo -n 'show databases' | mysql | grep -v Database | grep -v _schema`
|
||||
|
||||
# Verifie que backup_dump_path existe, on crée sinon
|
||||
if [ ! -d $backup_dump_path ] ; then mkdir -p $backup_dump_path ; fi
|
||||
|
||||
# On se deplace dans le dossier, et on purge les fichiers plus vieux que backup_max_age
|
||||
cd $backup_dump_path
|
||||
|
||||
mysqlcheck --all-databases > /srv/mysql/check
|
||||
|
||||
# Pour chaque base a sauvegarder
|
||||
for backup_db_name in $backup_db_list
|
||||
do
|
||||
# Verifie si un dossier existe pour cette base, on cree si non
|
||||
if [ ! -d ./$backup_db_name ] ; then mkdir ./$backup_db_name ; fi
|
||||
|
||||
cd ./$backup_db_name
|
||||
|
||||
# On dump
|
||||
mysqldump --events $backup_db_name | gzip > $backup_db_name.sql.gz
|
||||
|
||||
cd ..
|
||||
done
|
||||
|
||||
# On s'assure que nimporte qui ne peut lire les dump
|
||||
chmod a-rwx,u+rwX -R $backup_dump_path
|
||||
|
Reference in New Issue
Block a user