1、使用
使用下命令打开定时任务编辑
vim /etc/crontab
如下:
cron规则:
星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
其中test.sh脚本如下
执行 tail -f out.log结果如下:
2、坑
1、绝对路径
重要的事情说三遍,要全部为绝对路径,要全部为绝对路径,要全部为绝对路径,不论是定时任务的编辑,还是脚本中的命令、被执行文件都要使用绝对路径。
原使用是定时任务启动脚本,该脚本为nohup启动jar包。其中,nohup加上绝对路径/usr/bin/nohup,以及jar包改为绝对路径才可以。
2、执行一次却调用三次
任务刚设定好后,不知道为什么一个时间执行了三次,后来网上查资料也没找到,有人说重启一下机器就行了,然后。。。reboot之后,搞定。。也不知道什么原因。
3、任务没被执行
执行crontab命令,不加任何参数,报错如下:
cron: can’t lock /var/run/crond.pid, otherpid may be 2699: Resource temporarily unavailable
有此提示,表示任务未被执行,具体原因不明
解决方案: rm -rf /var/run/crond.pid 然后重启定时任务服务即可。