Backup journalier, hedo et mensuel

This commit is contained in:
2019-10-31 09:36:29 +01:00
parent 4ae2147bd0
commit 405bf357ab

View File

@@ -25,10 +25,14 @@ BKP_USER="mysqlbackupuser" # Enter the username for backup
BKP_PASS="$(cat $HOME/.password.txt)" # Enter the password of the backup user BKP_PASS="$(cat $HOME/.password.txt)" # Enter the password of the backup user
# #
BKP_DEST="$HOME/Documents/MySQL" # Enter the Backup directory,change this if you have someother location BKP_DEST="$HOME/Documents/MySQL" # Enter the Backup directory,change this if you have someother location
if [ ! -d $BKP_DEST ]; then mkdir $BKP_DEST; fi
# #
## Note: Scripts will delete all backup which are older then BKP_DAYS## ## Note: Scripts will delete all backup which are older then BKP_DAYS##
# #
BKP_DAYS="2" # Enter how many days backup you want, # D:3 W:22 M:93
BKP_DAYS="3" # Enter how many days backup you want,
BKP_WEEKS="22"
BKP_MONTHS="93"
# #
########### Use This for only local server ############################# ########### Use This for only local server #############################
MYSQL_HOST="localhost" MYSQL_HOST="localhost"
@@ -40,8 +44,16 @@ MYSQL_HOST="localhost"
# #
##################### Get Backup DATE ################################## ##################### Get Backup DATE ##################################
# #
BKP_DATE="$(date +"%A_%d-%m-%Y_%H-%M-%S")"; #BKP_DATE="$(date +"%A_%d-%m-%Y_%H-%M-%S")";
#BKP_DATE="$(date +"%A_%d-%m-%Y_%T")"; #lundi=date +%u
if [ $(date +%d) = "01" ]; then # 1er du mois => octobre_2019
BKP_DATE="$(date +"%B_%Y")";
elif [ $(date +%u) -eq 1 ]; then # lundi => S44_2019
BKP_DATE="$(date +"S%V_%Y")";
else
BKP_DATE="$(date +"%A_%d-%m-%Y_%H-%M-%S")"; # => Mercredi_30-10-2019_11-33-17
fi
# #
########## Ignore these default databases shen taking backup ############ ########## Ignore these default databases shen taking backup ############
# #
@@ -92,12 +104,11 @@ do
# #
################ Using MYSQLDUMP for bakup and Gzip for compression ################### ################ Using MYSQLDUMP for bakup and Gzip for compression ###################
# #
#$MYSQLDUMP -u $BKP_USER -h $MYSQL_HOST -p$BKP_PASS $db | $GZIP -9 > $BKP_FILENAME
$MYSQLDUMP -u $BKP_USER -h $MYSQL_HOST -p$BKP_PASS -r$BKP_FILENAME $db $MYSQLDUMP -u $BKP_USER -h $MYSQL_HOST -p$BKP_PASS -r$BKP_FILENAME $db
$GZIP -9 $BKP_FILENAME $GZIP -9 $BKP_FILENAME
server1="ftp.cluster011.ovh.net:www/backup/SilverBook/Bases_MySQL/" server1="ftp.cluster011.ovh.net:www/backup/SilverBook/Bases_MySQL/"
scp "$BKP_GZ_FILENAME" funnymac@"$server1" #scp "$BKP_GZ_FILENAME" funnymac@"$server1"
result=$? result=$?
notification "Backup MySQL: base $db" "$server1" $result notification "Backup MySQL: base $db" "$server1" $result
@@ -105,7 +116,7 @@ do
sleep 1 sleep 1
server2="clicclac.synology.me:/volume1/Backup/SilverBook/Bases_MySQL/" server2="clicclac.synology.me:/volume1/Backup/SilverBook/Bases_MySQL/"
scp -P42666 -p "$BKP_GZ_FILENAME" bruno@"$server2" #scp -P42666 -p "$BKP_GZ_FILENAME" bruno@"$server2"
result=$? result=$?
notification "Backup MySQL: base $db" "$server2" $result notification "Backup MySQL: base $db" "$server2" $result
@@ -114,7 +125,22 @@ do
done done
#########To delete all backup files older then BKP_DAYS ################# #########To delete all backup files older then BKP_DAYS #################
# #
find $BKP_DEST -type f -mtime +$BKP_DAYS -delete #find $BKP_DEST -type f -mtime +$BKP_DAYS -delete
# 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 '(janvier|fevrier|mars|avril|mai|juin|juillet|aout|septembre|octobre|novembre|decembre)|(S\d{2}_\d{4})' > day.txt
find $BKP_DEST -name "*.sql.gz" -mtime +$BKP_WEEKS | grep -E 'S\d{2}_\d{4}' > week.txt
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 . -name "*.sql.gz" | grep -E 'Monday|Tuesday' | xargs rm
# cd /volume1/Backup/SilverBook/Bases_MySQL # cd /volume1/Backup/SilverBook/Bases_MySQL
# find . -type f -mtime +3 -name '*.sql.gz' -delete # find . -type f -mtime +3 -name '*.sql.gz' -delete
@@ -122,7 +148,7 @@ find $BKP_DEST -type f -mtime +$BKP_DAYS -delete
# find /volume1/Backup/SilverBook/Bases_MySQL -type f -mtime +1 -name '*.sql.gz' # 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' # ssh dsm916e 'find /volume1/Backup/SilverBook/Bases_MySQL -type f -mtime +1 -name "*.sql.gz" -delete'
# #
#
#### End of script #### #### End of script ####