backup_mysql.sh
-nettoyage des serveurs
This commit is contained in:
@@ -31,9 +31,9 @@ if [ ! -d $BKP_DEST ]; then mkdir $BKP_DEST; fi
|
||||
## Note: Scripts will delete all backup which are older then BKP_DAYS##
|
||||
#
|
||||
# D:3 W:22 M:93
|
||||
BKP_DAYS="3" # Enter how many days backup you want,
|
||||
BKP_WEEKS="22"
|
||||
BKP_MONTHS="93"
|
||||
BKP_DAYS=3 # Enter how many days backup you want,
|
||||
BKP_WEEKS=21 # 3*7
|
||||
BKP_MONTHS=93 # 3*31
|
||||
#
|
||||
########### Use This for only local server #############################
|
||||
MYSQL_HOST="localhost"
|
||||
@@ -46,6 +46,7 @@ MYSQL_HOST="localhost"
|
||||
##################### Get Backup DATE ##################################
|
||||
#
|
||||
#BKP_DATE="$(date +"%A_%d-%m-%Y_%H-%M-%S")";
|
||||
# Pour les date en français: LC_ALL="fr_FR.UTF-8" date +"%B_%Y"
|
||||
#lundi=date +%u
|
||||
if [ $(date +%d) = "01" ]; then # 1er du mois => octobre_2019
|
||||
BKP_DATE="$(date +"%B_%Y")";
|
||||
@@ -110,7 +111,7 @@ do
|
||||
$MYSQLDUMP -u $BKP_USER -h $MYSQL_HOST -p$BKP_PASS -r$BKP_FILENAME $db
|
||||
$GZIP -9 $BKP_FILENAME
|
||||
|
||||
server1="ftp.cluster011.ovh.net:www/backup/SilverBook/Bases_MySQL/"
|
||||
server1="ftp.cluster011.ovh.net:backup/SilverBook/Bases_MySQL/"
|
||||
scp "$BKP_GZ_FILENAME" funnymac@"$server1"
|
||||
result=$?
|
||||
|
||||
@@ -126,36 +127,72 @@ do
|
||||
|
||||
fi
|
||||
done
|
||||
|
||||
#########To delete all backup files older then BKP_DAYS #################
|
||||
#
|
||||
#find $BKP_DEST -type f -mtime +$BKP_DAYS -delete
|
||||
# Nettoyage serveurs locaux:
|
||||
|
||||
# xxx.S44_2019.sql.gz
|
||||
# find . -name "*.sql.gz" -mtime +$BKP_WEEKS | grep -E 'S\d{2}_\d{4}'
|
||||
# xxx.octobre_2019.sql.gz
|
||||
# find . -name "*.sql.gz" -mtime +$BKP_MONTHS | grep -E 'janvier|fevrier|mars|avril|mai|juin|juillet|aout|septembre|octobre|novembre|decembre'
|
||||
# xxx.Mercredi_30-10-2019_11-33-17.sql.gz
|
||||
find $BKP_DEST -name "*.sql.gz" -mtime +$BKP_DAYS | grep -v -E '(January|February|March|April|May|June|July|August|September|October|November|December)|(S\d{2}_\d{4})' | xargs rm -f
|
||||
#gfind /Users/bruno/Documents/MySQL -mtime +93 -iregex '.*\(January\|February\|March\|April\|May\|June\|July\|September\|October\|November\|December\).*'
|
||||
|
||||
#find $BKP_DEST -name "*.sql.gz" -mtime +$BKP_DAYS | grep -v -E '(janvier|fevrier|mars|avril|mai|juin|juillet|aout|septembre|octobre|novembre|decembre)|(S\d{2}_\d{4})' > day.txt
|
||||
find -E $BKP_DEST -mtime +$BKP_DAYS -regex '.*(janvier|fevrier|mars|avril|mai|juin|juillet|aout|septembre|octobre|novembre|decembre)|(S\d{2}_\d{4})' > day.txt
|
||||
echo $?
|
||||
find $BKP_DEST -name "*.sql.gz" -mtime +$BKP_WEEKS | grep -E 'S\d{2}_\d{4}' | xargs rm -f
|
||||
#gfind /Users/bruno/Documents/MySQL -mtime +22 -regextype posix-extended -iregex '.*S[0-9]{2}_[0-9]{4}.*'
|
||||
|
||||
#find $BKP_DEST -name "*.sql.gz" -mtime +$BKP_WEEKS | grep -E 'S\d{2}_\d{4}' > week.txt
|
||||
find -E $BKP_DEST -mtime +$BKP_WEEKS -regex 'S\d{2}_\d{4}' > week.txt
|
||||
echo $?
|
||||
find $BKP_DEST -name "*.sql.gz" -mtime +$BKP_MONTHS | grep -E '(January|February|March|April|May|June|July|August|September|October|November|December)' | xargs rm -f
|
||||
#
|
||||
|
||||
#find $BKP_DEST -name "*.sql.gz" -mtime +$BKP_MONTHS | grep -E '(janvier|fevrier|mars|avril|mai|juin|juillet|aout|septembre|octobre|novembre|decembre)' > month.txt
|
||||
find -E $BKP_DEST -mtime +$BKP_MONTHS -regex '.*(janvier|fevrier|mars|avril|mai|juin|juillet|aout|septembre|octobre|novembre|decembre)' > month.txt
|
||||
echo $?
|
||||
# Nettoyage serveurs distants:
|
||||
|
||||
# find . -name "*.sql.gz" | grep -E 'Monday|Tuesday' | xargs rm
|
||||
#916_dest="/volume1/Backup/SilverBook/Bases_MySQL"
|
||||
# ssh dsm916e "find /volume1/Backup/SilverBook/Bases_MySQL -type f -name '*.sql.gz' | grep -P '(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday)' | xargs rm -f"
|
||||
|
||||
ssh dsm916e "set -o pipefail; find /volume1/Backup/SilverBook/Bases_MySQL -type f -mtime +$BKP_DAYS -name '*.sql.gz' | grep -P '(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday)' | xargs rm -f"
|
||||
retCode[1]=$?
|
||||
errMsg[1]="daily backup bases @ dsm916"
|
||||
|
||||
# cd /volume1/Backup/SilverBook/Bases_MySQL
|
||||
# find . -type f -mtime +3 -name '*.sql.gz' -delete
|
||||
ssh dsm916e "set -o pipefail; find /volume1/Backup/SilverBook/Bases_MySQL -type f -mtime +$BKP_WEEKS -name '*.sql.gz' | grep -P 'S\d{2}_\d{4}' | xargs rm -f"
|
||||
retCode[2]=$?
|
||||
errMsg[2]="weekly backup bases @ dsm916"
|
||||
|
||||
ssh dsm916e "set -o pipefail; find /volume1/Backup/SilverBook/Bases_MySQL -type f -mtime +$BKP_MONTHS -name '*.sql.gz' | grep -P '(January|February|March|April|May|June|July|August|September|October|November|December)' | xargs rm -f"
|
||||
retCode[3]=$?
|
||||
errMsg[3]="monthly backup bases @ dsm916"
|
||||
|
||||
ovh_dest="/homez.528/funnymac/backup/SilverBook/Bases_MySQL"
|
||||
# ssh ovh "find /homez.528/funnymac/backup/SilverBook/Bases_MySQL -type f -name '*.sql.gz' | grep -P '(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday)' | xargs rm -f"
|
||||
|
||||
ssh ovh "set -o pipefail; find $ovh_dest -type f -mtime +1 -name '*.sql.gz' | grep -P '(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday)' | xargs rm -f"
|
||||
retCode[4]=$?
|
||||
errMsg[4]="daily backup bases @ ovh"
|
||||
|
||||
ssh ovh "set -o pipefail; find $ovh_dest -type f -mtime +$BKP_WEEKS -name '*.sql.gz' | grep -P 'S\d{2}_\d{4}' | xargs rm -f"
|
||||
retCode[5]=$?
|
||||
errMsg[5]="weekly backup bases @ ovh"
|
||||
|
||||
ssh ovh "set -o pipefail; find $ovh_dest -type f -mtime +$BKP_MONTHS -name '*.sql.gz' | grep -P '(January|February|March|April|May|June|July|August|September|October|November|December)' | xargs rm -f"
|
||||
retCode[6]=$?
|
||||
errMsg[6]="monthly backup bases @ ovh"
|
||||
|
||||
# Codes retour:
|
||||
# grep: 0 -> si lignes, 1 -> pas de lignes, 2 -> erreur
|
||||
# find: 0 -> si ok, >0 -> si erreur
|
||||
# xarg: 0 -> si ok, 123 à 127 si erreur, 1 -> autres erreurs
|
||||
|
||||
for (( c=1; c<=6; c++ ))
|
||||
do
|
||||
#if [ ${retCode[$c]} -eq 1 ]; then
|
||||
#echo "erreur"
|
||||
#notification "Error on deleting remote files ${errMsg[$c]}" $result
|
||||
#notification "Error" ${retCode[$c]}
|
||||
#fi
|
||||
if [ ${retCode[$c]} -eq 0 ]; then
|
||||
echo "Pas d'erreur"
|
||||
#notification "Error on deleting remote files ${errMsg[$c]}" $result
|
||||
notification "No Error" ${retCode[$c]}
|
||||
fi
|
||||
|
||||
done
|
||||
|
||||
# find /volume1/Backup/SilverBook/Bases_MySQL -type f -mtime +1 -name '*.sql.gz'
|
||||
# ssh dsm916e 'find /volume1/Backup/SilverBook/Bases_MySQL -type f -mtime +1 -name "*.sql.gz" -delete'
|
||||
#
|
||||
|
||||
#### End of script ####
|
||||
|
||||
Reference in New Issue
Block a user