diff --git a/backup_mysql.sh b/backup_mysql.sh index e1b1537..e44d279 100755 --- a/backup_mysql.sh +++ b/backup_mysql.sh @@ -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 ####