mysql每天定時備份指令碼

helei在路上發表於2018-01-22
  • cd /etc/
  • vim crontab
    #!/bin/sh
    rq=date +%Y%m%d
    mysqldump -u root -phelei245 numysql -h rm-2zedbz1hl987go347.mysql.rds.aliyuncs.com –skip-lock-tables > /usr/local/mysqlBak/data/mysql$rq.sql &

#!/bin/bash
# 要備份的資料庫名,多個資料庫用空格分開
databases=(bdm0120810_db bdm0330237_db bdwsd competitive database_db goldfilling hdm0110181_db publicdb sfa syb user_panel youshang)
# 備份檔案要儲存的目錄
basepath=/mnt/data/
if [ ! -d “$basepath” ]; then
mkdir -p “$basepath”
fi
# 迴圈databases陣列
for db in ${databases[]}
do
# 備份資料庫生成SQL檔案
/bin/nice -n 19 /usr/bin/mysqldump -uroot -p123456 -h rdsn4123658y8trqwert5.mysql.rds.aliyuncs.com –skip-lock-tables $db > $basepath$db-$(date +%Y%m%d).sql
# 將生成的SQL檔案壓縮
/bin/nice -n 19 tar zPcf $basepath$db-$(date +%Y%m%d).sql.tar.gz $basepath$db-$(date +%Y%m%d).sql
#tar zPcf $basepath$db-$(date +%Y%m%d).sql.tar.gz $basepath$db-$(date +%Y%m%d).sql
# 刪除7天之前的備份資料
find $basepath -mtime +7 -name “
.sql.tar.gz” -exec rm -rf {} ;
done
# 刪除生成的SQL檔案
rm -rf $basepath/*.sql



相關文章