做linux的定时任务,使在特定的时间可以执行特定的程序。
使用 crontab -e 命令,第一次用回提示你选择哪个编辑器,使用最简单的nano就行,然后就进入了如下界面:
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 和 * 没有区别 |
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服务。