前言
Ubuntu上我们有时候希望做一些定时任务,以应对不断变化的状态或者消息收发,见下文。
1. crontab
crontab
是Ubuntu自带的定时任务功能,其命令为:
1 | {minute} {hour} {day-of-month} {month} {day-of-week} {users} {full-path-to-shell-script or command} |
打个比方,我们要设置test.sh程序定时任务,记得利用chmod
赋予权限,在/etc/crontab
文件中加入:
1 | 50 23 * * * root sh path/to/test.sh # 每天23:50启动 |
2. 开机自启动
可在开机自启动任务中利用sleep
、while
和if
三部分实现死循环式的定时任务,不过sleep的存在,会避免cpu占用率高,记得用&
放在后台执行。
3.监听启动
a.先启动定时任务,处于休眠,然后设置一个启动标志,当检测到某情况发生,则启动任务;
b.绑定在一个程序上,当程序执行,再启动定时任务。