自动备份数据库,并利用 ftp 拷贝到其他服务器
配置定时执行 cron , 执行 如下命令
crontab -e
输入如下内容 :
0 */4 * * * /u01/db/mysql/xiamenbackup/database_mysql_bak.sh 1>> ./log.log 2>&1
日志会输出到 log 文件中
以下是 linux 执行脚本
#!/bin/bash
DATE='date + %Y%m%d%H%M'
DATABASE=ccbcbd
DB_USERNAME=bdusr
DB_PASSWORD=bdusr
BACK_PATH=./
DATE=$(date +%Y%m%d-%H%M%S)
DEL=$(date -d '7 day ago' +%Y%m%d-%H%M%S)
echo "===database backup started! `hostname` `date +%Y-%m-%d.%H:%M:%S.%N`" >> /u01/db/mysql/xiamenbackup/ftp_monitor.log 2>&1
echo "DATE: $DATE --- DEL: $DEL " >> /u01/db/mysql/xiamenbackup/ftp_monitor.log 2>&1
source /etc/profile
##mysqldump --login-path=ccbcusr --set-gtid-purged=off --databases ccbcbd ccbcxm ccbcmsjr | gzip > ccbc_$(date +%Y%m%d-%H%M%S).sql.gz
##mysqldump --login-path=ccbcusr --set-gtid-purged=off --databases ccbcbd ccbcxm ccbcmsjr | gzip > /u01/db/mysql/xiamenbackup/ccbc_$(date +%Y%m%d-%H%M%S).sql.gz
#/u01/db/mysql/mysql-5.6.29-linux-glibc2.5-x86_64/bin/mysqldump --login-path=ccbcusr --set-gtid-purged=off --databases ccbcwzsy | gzip > /u01/db/mysql/xiamenbackup/ccbc_$(date +%Y%m%d-%H%M%S).sql.gz
########### 更改 ftp 服务器之前的最后版本
#/u01/db/mysql/mysql-5.6.29-linux-glibc2.5-x86_64/bin/mysqldump --login-path=wzsyusr -h172.16.42.154 ccbcwzsy | gzip > /u01/db/mysql/xiamenbackup/ccbc_$DATE.sql.gz
/u01/db/mysql/mysql-5.6.29-linux-glibc2.5-x86_64/bin/mysqldump -h172.16.42.154 -uwzsyusr -pwzsyusr --set-gtid-purged=off ccbcwzsy | gzip > /u01/db/mysql/xiamenbackup/ccbc_$DATE.sql.gz
#find ./ -mtime +7 -name "ccbc*" -exec rm -f {} \;
ftp -ivn << EOF
open 172.16.42.169
user ftpuser1 ftpuser1
cd /database_backups/wzsy
lcd /u01/db/mysql/xiamenbackup
bin
put ccbc_$DATE.sql.gz
delete ccbc_$DEL.sql.gz
close
bye
EOF
rm -rf /u01/db/mysql/xiamenbackup/ccbc_$DATE.sql.gz
echo -e "\n"