1、创建要执行的备份任务
1.1创建存放备份文件的存储位置
[root@ecs-19ed data]# mkdir -p /data/mysql_data_bak
1.2给该文件夹分配744的权限
[root@ecs-19ed data]# chmod 744 /data/mysql_data_bak
1.3创建要执行备份的脚本文件
[root@ecs-19ed data]# touch /data/mysqlBack_everyDay.sh
1.4给脚本文件授权
[root@ecs-19ed data]# chmod 744 /data/mysqlBack_everyDay.sh
1.5编辑该脚本文件,写入要执行的脚本内容:
[root@ecs-19ed data]# vim /data/mysqlBack_everyDay.sh
/usr/local/mysql/bin/mysqldump -uroot -p71fad9e684c1fb25f62548a6a83eed8f PetCtrPro>/data/mysql_data_bak/date_$(date +%Y%m%d_%H%M%S).sql
# /usr/local/mysql/bin/mysqldump 备份命令(完整路径)
#-uroot -p71fad9e684c1fb25f62548a6a83eed8f 数据库用户名和密码
# PetCtrPro要备份的数据库 后面不带空格直接跟>
#备份文件存放路径和命名
find mysql_data_bak/ -mtime +30 -name "*.sql" -exec rm -rf {} \; # 删除30天前的备份文件 反斜杠后面直接跟分号不带空格
注意: 1.数据库和‘>’之间不能有空格,否则报错 2.第二行{}和\之间一定要有空格,末尾一定要有';'分号,而且'\'和';'之间不能有空格,否则会报错
测试一下脚本是否能正确执行,不报错且备份文件夹下多出一个文件“date_20200114_153821.sql”,表示脚本没问题,可以创建定时任务了。
[root@ecs-19ed data]# ./mysqlBack_everyDay.sh
2、加入到定时任务
2.1 编辑定时任务
[root@ecs-19ed data]# crontab -e
在打开的文本编辑器中添加下面这行命令(和vim一样操作)。
1 0 * * * sh /data/mysqlBack_everyDay.sh #每天0点01分执行脚本文件
# 分 小时 天 月 星期 执行任务
保存,退出编辑器,显示添加了新的任务
"/tmp/crontab.8yqj0A" 1L, 38C written
crontab: installing new crontab
2.2 重启定时任务使之生效
[root@ecs-19ed data]# systemctl restart crond
2.3 查看生效的定时任务
[root@ecs-19ed data]# crontab -l
1 0 * * * /data/mysqlBack_everyDay.sh