做linux的定时任务,使在特定的时间可以执行特定的程序。

使用  crontab -e  命令,第一次用回提示你选择哪个编辑器,使用最简单的nano就行,然后就进入了如下界面:

ubuntu Linux定时任务做法

nano 的话crtl+x退出保存(有修改的话会提示保存的),然后sudo service cron restart重启cron服务即可运行起来!

各项参数
m h dom mon dow cmd
分钟0-59 小时0-23 天1-31 月1-12 星期1-6+0 shell
除了这些,还有一些符号的含义:星号*   逗号,  斜线/  

符号含义
* /

表示任意值,比如在小时

部分填写 * 代表任意小时(每小时)

可以允许在一个部分中填写多个值,

比如在分钟部分填写 1,3 表示一分钟或三分钟

 一般配合 * 使用,代表每隔多长时间,

比如在小时部分填写 */2 代表每隔两分钟。

所以 */1 和 * 没有区别

1. * * * * *      date >> /home/postgres/time.log            # 每隔一分钟执行一次任务  
2. 0 * * * *      date >> /home/postgres/time.log          # 每小时的0点执行一次任务,比如6:00,10:00  
3. 6,10 * 2 * *    date >> /home/postgres/time.log      # 每个月2号,每小时的6分和10分执行一次任务  

4. */3,*/5 * * * *  date >> /home/postgres/time.log        # 每隔3分钟或5分钟执行一次任务,比如10:03,10:05,10:06

5.*/5 9-17 * * mon,tue,wed,thur,fri wall "Are we there yet?" 就是在所有的工作日的(9-17点)每过5分钟出现"Are we there Yet?"

6.30 21 * * * /usr/local/etc/rc.d/lighttpd restart就是每晚九点半重启apache

7.0 23-7/2,8 * * * date 晚上11点到早上8点之间每两个小时,早上8点

8.0 11 4 * mon-wed date 每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点

后面的几月几日和星期几是“或”的关系,表示都会执行,如果要做“并”的关系,则可以在shell脚本中再做判断,这么多应该够用了。

PS:编写shell 的时候别忘了最后chmod 777 xxx.sh,完了还需要重启contrab服务。





相关文章: