Ubuntu下的定时任务


前言

Ubuntu上我们有时候希望做一些定时任务,以应对不断变化的状态或者消息收发,见下文。

1. crontab

crontab是Ubuntu自带的定时任务功能,其命令为:

1
2
3
4
5
6
{minute} {hour} {day-of-month} {month} {day-of-week} {users} {full-path-to-shell-script or command} 
o minute: 区间为 0 – 59
o hour: 区间为0 – 23
o day-of-month: 区间为0 – 31
o month: 区间为1 – 12. 1 是1月. 12是12月.
o Day-of-week: 区间为0 – 7. 周日可以是0或7.

打个比方,我们要设置test.sh程序定时任务,记得利用chmod赋予权限,在/etc/crontab文件中加入:

1
2
3
50 23 * * * root sh path/to/test.sh # 每天23:50启动
*/1 * * * * root path/to/test.sh #每隔1分钟启动
0 23 * * 1-5 root path/to/test.sh #每周1~5的23:00启动

2. 开机自启动

可在开机自启动任务中利用sleepwhileif三部分实现死循环式的定时任务,不过sleep的存在,会避免cpu占用率高,记得用&放在后台执行。

3.监听启动

a.先启动定时任务,处于休眠,然后设置一个启动标志,当检测到某情况发生,则启动任务;

b.绑定在一个程序上,当程序执行,再启动定时任务。


-------------本文结束感谢您的阅读-------------
坚持原创技术分享,您的支持将鼓励我继续创作!