Ubuntu18.04 crontab 定时任务
安装
apt-get install cron
crontab基础知识及用法:
命令格式:crontab [-u username] [-l|-e|-r]
参数:
-u : 只有root才能进行这个任务,也即帮助其他用户新建/删除crontab工作调度;
-e :编辑crontab的工作内容;
-l :删除所有的crontab的工作内容,若仅要删除一项,请用-e去编辑。
第一次会让你选择编译器,如果选错编译器了要更改编译器 输入 select-editor 重新选择
示例
范例:在5月1日23:59发一封信
直接执行crontab -e之后
59 23 1 5 * mail kiki < /home/lover.txt
每项工作的格式都是具有六个字段:
第一个:分钟(0~59)
第二个:小时(0~23)
第三个:日期(1~31)
第四个:月份(1~12)
第五个:周(0~7),数字0或7都代表“星期日”
第六个:就是要执行的命令
特殊字符:
*(星号):代表任何时刻都接受
例如:* 5 * * * command表示无论何月,何日,周几的5点都会执行
,(逗号):代表分割时段的意思。
例如:要执行的任务是在4:00和5:00 就是 0 5,6 * * * command。
-(减号):代表一段时间范围内
例如9点到12点之间每个小时的10时都进行一项工作,就是 10 9-12 * * *
/n(斜线):n代表某一个数字,即表示每隔n单位间隔
例如每一分钟执行一次,就是 */1 * * * * command
范例:每五分钟执行一次命令:
0-59/5 * * * * command
开启Crontab日志
ubuntu默认没有开启cron日志记录
1. 修改rsyslog
sudo vim /etc/rsyslog.d/50-default.conf cron.* /var/log/cron.log #将cron前面的注释符去掉
2.重启rsyslog
sudo service rsyslog restart
3.查看crontab日志
less /var/log/cron.log
注意:这里必须重启日志服务,重启以后使用less查看可能还没有日志,需要等任务执行以后才能看到日志。
查看cron日志
vim /var/log/cron.log
在日志中找到
No MTA installed, discarding output
解决方案:将日志输出到指定文件
*/5 * * * * /home/xwdreamer/iotkit/linkkit-example_INV/linkkit-example_INV > linkkit-example_INV_temp.log
Cron常用命令
service cron start //启动服务 service cron stop //关闭服务 service cron restart //重启服务 service cron reload //重新载入配置 service cron status //查看crontab服务状态