1、自动备份脚本

#备份文件后缀时间
time="$(date +"%Y%m%d$H")"
#备份路径和备份的数据库
#把 root替换为实际的用户名; 
#把 dreamsoft替换为实际的密码; 
#把 dsfa_zjstxnew替换为实际的数据库名;
#备份目录:/data/database-sjk-bf
#备份文件名称:dsfa_zjstxnew_$time.sql.gz
mysqldump -uroot -pdreamsoft dsfa_zjstxnew | gzip > /data/database-sjk-bf/dsfa_zjstxnew_$time.sql.gz
#mysqldump -uroot -pdreamsoft dsfa_zjstxnew | gzip > /data/database-sjk-bf/dsfa_zjstxnew_$(date +%Y%m%d_%H%M%S).sql.gz
#删除七天之前的备份文件
#备份文件存储目录:/data/database-sjk-bf
#备份文件名:dsfa_zjstxnew_*.sql.gz
find /data/database-sjk-bf -name "dsfa_zjstxnew_*.sql.gz" -type f -mtime +7 -exec rm -rf {} \; > /dev/null 2>&1

(注:#删除五分钟之前的备份文件
#find /data/database-sjk-bf -name “zjstxnew_*.sql.gz” -type f -mmin +5 -exec rm -rf {} ; > /dev/null 2>&1 )

脚本弄好后执行看是否有问题,没问题后再设置每天自动备份

2、设置每天自动执行脚本
编辑crontab 添加定时任务
修改crontab默认编辑器:select-editor。选择/usr/bin/vim.basic

#vi /etc/crontab (系统级别的配置)
在最后一行中加入:
00 16 * * * /usr/local/mysqlbackup/backmysql.sh
表示每天16点00分执行备份

注:crontab配置文件格式如下:
分 时 日 月 周

重启crontab:
/etc/rc.d/init.d/crond restart 或者service crond restart
注:可能因为centos版本问题上述命令不能执行 可尝试/bin/systemctl status crond.service命令

更多推荐

MySQL数据库自动备份脚本