ubuntu16定时任务
cron文件语法
crontab使用最小纬度为分钟1
2
3
4* 代表取值范围内的所有可用的值,例如*在指代month时表示每月执行
/ 代表”每”,指定步进设置,如0-59/2定义每两分钟执行一次
- 代表从某个数字到某个数字,例如1-4意思是整数1,2,3,4
, 分开几个离散的数字,如:3,4,6,8表示这四个指定整数
分 | 小时 | 日 | 月 | 星期 | 命令 | 注释 |
---|---|---|---|---|---|---|
0-59 | 0-23 | 1-31 | 1-12 | 0-6 | cmd | 注释 |
5 | * | * | * | * | ls | 每小时的第5分钟执行一次ls |
30 | 5 | * | * | * | ls | 每天的 5:30 执行ls |
30 | 7 | 8 | * | * | ls | 每月8号的7:30分执行ls命令 |
30 | 5 | 8 | 6 | * | ls | 每年的6月8日5:30执行ls命令 |
30 | 6 | * | * | 0 | ls | 每星期日的6:30执行ls 0表示星期天 |
*/5 | * | * | * | * | ls | 每5分钟执行ls |
*/1 | * | * | * | * | ls | 每1分钟执行ls |
0 | * | * | * | * | ls | 每小时执行 |
0 | 0 | * | * | * | ls | 每天执行 |
0 | 0 | * | * | 0 | ls | 每周日执行 |
0 | 0 | 1 | * | * | ls | 每月执行 |
0 | 0 | 1 | 1 | * | ls | 每年执行 |
15,30,45,59 | * | * | * | * | ls | 每隔15分钟执行一次ls |
crontab 命令
1 | crontab -l #列出某个用户cron服务的详细内容 |
举例来说明
crontest.cron 换行符必须是 unix格式,否则执行不成功
cron错误日志:(/root/crontab/syncDuser/syncDuser.sh^M)
cron正确日志:(/root/crontab/syncDuser/syncDuser.sh)
定时执行mysql-backup.sh脚本1
2
3
4
5
6在/root/crontab下创建 crontab.cron 文件 内容如下
15,30,45,59 * * * * /root/crontab/backup/mysql-backup.sh #每隔15分钟执行一次脚本
0 3 * * * /root/crontab/backup/mysql-backup.sh #每天早上3点执行
crontab crontab.cron #将定时文件加到到订时器中
crontab -l #检测定时任务有没有加入系统中
crontab -r #取消所有定时任务
查看crontab日志
Ubuntu16中crontab默认日志没有开启1
2
3
4vim /etc/rsyslog.d/50-default.conf #修改rsyslog配置文件
cron.* /var/log/cron.log #将cron前面的注释符去掉
service rsyslog restart #重启rsyslog
less /var/log/cron.log #查看crontab日志