1 创建shell脚本文件
vi backups.sh
输入以下内容:
#!/bin/sh
mysqldump -uusername -ppassword DatabaseName > DatabaseName_$(date +%Y%m%d_%H%M%S).sql
注意PS:
username 为登录数据库用户名
password 为数据库登陆密码
DatabaseName 为数据库名称
后面()中的date与+之间一定要一个空格,不然会报错
2 给脚本文件 添加执行权限
chmod u+x backups.sh
添加执行权限后直接 ./backups.sh测试脚本文件执行结果
3 添加定时执行任务crontab
crontab –e : 修改 crontab 文件,如果文件不存在会自动创建。
crontab –l : 显示 crontab 文件。
crontab -r : 删除 crontab 文件。
crontab -ir : 删除 crontab 文件前提醒用户。
执行crontab –e后,直接与vi编辑器一样编辑文件,如:
#每分钟执行一起
*/1 * * * * /root/backups.sh
在crontab文件中写入需要执行的命令和时间,该文件中每行都包括六个域,其中前五个域是指定命令被执行的时间,最后一个域是要被执行的命令。每个域之间使用空格或者制表符分隔。格式如下:
minute hour day-of-month month-of-year day-of-week commands
合法值为:00-59 00-23 01-31 01-12 0-6 (0 is sunday)
除了数字还有几个特殊的符号:”*”、”/”和”-“、”,”
*代表所有的取值范围内的数字
“/”代表每的意思,”/5”表示每5个单位
“-“代表从某个数字到某个数字
“,”分开几个离散的数字
例子:
#1月1日早上4点
0 4 1 1 * /root/backups.sh
#每天早上6点
0 6 * * * /root/backups.sh
4 总结
在编辑完crontab文件之后,有的退出编辑,即可生效。
如若不能生效,重启cron服务service cron restart