1. 程式人生 > >[原創]MYSQL周期備份shell腳本

[原創]MYSQL周期備份shell腳本

ech 星期幾 n! username ack case data base sql數據庫

這個腳本是實現阿裏雲mysql數據庫全量周期備份的shell腳本,實現備份數據按一周星期幾分開存放。一下是腳本內容:

#!/bin/bash

echo `date`
echo "backup begin!!!"

DATE1=`date +%Y%m%d%H%M%S`
DATE2=`date +%w`
BACKUPDIR="/data/backup/backupdir/"
BACKUPPATH="/data/backup"
BACKUPNAME="/data/backup/backup_${DATE1}.tar.gz"

NAME=`mysql -hrdsabcdefghijklmnopqrstuvwxyz.mysql.rds.aliyuncs.com -uusername -ppassword <<EOF
show databases;
exit
EOF`
for dbname in $NAME;do
if [ "$dbname" = "Database" ];then
echo "The ‘Database‘ is not a database."
else
mysqldump -hrdsabcdefghijklmnopqrstuvwxyz.mysql.rds.aliyuncs.com -uusername -ppassword $dbname > $BACKUPDIR${dbname}.sql
	fi
done

cd $BACKUPDIR
tar zcf $BACKUPNAME *

echo `date`
echo "backup over!!!"

case $DATE2 in

1) mv $BACKUPNAME $BACKUPPATH/1;;
2) mv $BACKUPNAME $BACKUPPATH/2;;
3) mv $BACKUPNAME $BACKUPPATH/3;;
4) mv $BACKUPNAME $BACKUPPATH/4;;
5) mv $BACKUPNAME $BACKUPPATH/5;;
6) mv $BACKUPNAME $BACKUPPATH/6;;
0) mv $BACKUPNAME $BACKUPPATH/7;;
*) echo $DATE2;;

esac
cd $BACKUPDIR
rm -rf *

echo `date`
echo "Over!!!"

[原創]MYSQL周期備份shell腳本