MySQL Backup 從 Host 執行 backup-db.sh #!/bin/bash BKDIR="db_backups" BKFILE="cloudcoin_raida#17.`date +%y%m%d`.sql" DBUSER="ThisDBUser" DBNAME="cloudcoin_raida" CONTNAME="raida17" CONTDIR="/opt/data/$BKDIR" HOSTDIR="/docker_vol/raida/data/$BKDIR" KEEP=2 [ -d $HOSTDIR ] || mkdir $HOSTDIR cd $HOSTDIR start_s=$(date +%s) echo "*********** START `date "+%F@%T"` **************" # Full Backup echo "-> Back up Full DB " docker exec $CONTNAME bash -c "mysqldump --single-transaction --add-drop-table -u $DBUSER $DBNAME > $CONTDIR/$BKFILE" retval=$? if [ $retval -eq 0 ];then echo "... [success]" else echo "... [failure]**" exit 1 fi # Compress the files echo "-> Compress the dump file " gzip -f $HOSTDIR/$BKFILE retval=$? if [ $retval -eq 0 ];then echo "... [success]" BKFILE="$BKFILE.gz" else echo "... [*failure*]" exit 1 fi # Purge the old files echo "-> Purge the old files" ls_files=($(ls -lt cloudcoin_raida* | awk -F ' ' '{print $9}')) len=${#ls_files[@]} i=$KEEP while (($i < $len));do rm -vf "${ls_files[$i]}" let i++ done end_s=$(date +%s) elapsed=$(( end_s - start_s )) echo echo "Elapsed: $elapsed seconds" echo "Output File: $HOSTDIR/$BKFILE" echo "*********** END `date "+%F@%T"` **************" echo