Backup journalier, hedo et mensuel
This commit is contained in:
@@ -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_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##
|
||||
#
|
||||
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 #############################
|
||||
MYSQL_HOST="localhost"
|
||||
@@ -40,8 +44,16 @@ MYSQL_HOST="localhost"
|
||||
#
|
||||
##################### Get Backup DATE ##################################
|
||||
#
|
||||
BKP_DATE="$(date +"%A_%d-%m-%Y_%H-%M-%S")";
|
||||
#BKP_DATE="$(date +"%A_%d-%m-%Y_%T")";
|
||||
#BKP_DATE="$(date +"%A_%d-%m-%Y_%H-%M-%S")";
|
||||
#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 ############
|
||||
#
|
||||
@@ -92,12 +104,11 @@ do
|
||||
#
|
||||
################ 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
|
||||
$GZIP -9 $BKP_FILENAME
|
||||
|
||||
server1="ftp.cluster011.ovh.net:www/backup/SilverBook/Bases_MySQL/"
|
||||
scp "$BKP_GZ_FILENAME" funnymac@"$server1"
|
||||
#scp "$BKP_GZ_FILENAME" funnymac@"$server1"
|
||||
result=$?
|
||||
|
||||
notification "Backup MySQL: base $db" "$server1" $result
|
||||
@@ -105,7 +116,7 @@ do
|
||||
sleep 1
|
||||
|
||||
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=$?
|
||||
|
||||
notification "Backup MySQL: base $db" "$server2" $result
|
||||
@@ -114,7 +125,22 @@ do
|
||||
done
|
||||
#########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
|
||||
# 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'
|
||||
# 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