linux 系统定时任务

crontab [-u username]    //省略用户表表示操作当前用户的crontab
    -e      (编辑任务)
    -l      (列出工作表里的命令)
    -r      (删除任务)

在终端输入crontab -l 命令查看当前用户已启动的定时任务。如下是我mac里面设定的,规则是每分钟去请求一下本地的http://test.test.com:8071/index/TimeTask/singleTransferQuery接口,然后把请求返回的数据写到/Users/tomcat/Sites/test/biz/runtime/timetasklog.txt文件里面。

Last login: Thu Jan 13 10:25:35 on T8000
You have new mail.
miaomiaowang@miaomiaowangdeMacBook-Pro ~ % crontab -l    
*/1 * * * * curl http://test.test.com:8071/index/TimeTask/singleTransferQuery >>/Users/tomcat/Sites/test/biz/runtime/timetasklog.txt
miaomiaowang@miaomiaowangdeMacBook-Pro ~ % 

第二行有句You have new mail. 而且每次打开终端都会有这个提示。这个是因为之前这个定时任务启动错误(本地项目没有启动,或者是任务代码没写对等等),然后会在 /var/mail/目录下生成一个以当前登录mac的用户名命名的mail文件,直接用文本打开就行,可以查看错误日志(其他的一些操作也触发这个文件的生成,不只是crontab出错导致)。

在终端crontab -e进入当前用户的任务表编辑。最低周期是1分钟。

其时间有分、时、日、月、周五种,操作符有

  • * 取值范围内的所有数字
  • / 每过多少个数字
  • - 从X到Z
  • 散列数字
# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed


*    *    *    *    *  前面5个*是周期,规则如下。
-    -    -    -    -
|    |    |    |    |
|    |    |    |    +----- 星期中星期几 (0 - 6) (星期天 为0)
|    |    |    +---------- 月份 (1 - 12) 
|    |    +--------------- 一个月中的第几天 (1 - 31)
|    +-------------------- 小时 (0 - 23)
+------------------------- 分钟 (0 - 59)

实例

每1分钟执行一次task

* * * * * task

每1分钟执行一次task写法二

*/1 * * * * task

每小时的第1和第50分钟执行task

1,50 * * * * task

在上午5点到11点的第6和第18分钟执行task

6,18 5-11 * * * task

每隔五天的上午8点到9点的第1和第19分钟执行task

1,19 8-9 */5  *  * task

每周一上午8点到11点的第3和第15分钟执行task

3,15 8-11 * * 1 task

每晚的23:59 用php 请求php项目中的某个接口 然后将输出写到singleTransferQuery.log文件中

59 23 * * * /usr/bin/php  /opt/mydata/webroot/test/testapi/public/index.php index/TimeTask/singleTransferQuery >> /opt/mydata/crontablogs/singleTransferQuery.log 2>&1 &

每月7、15、20日的2 : 59 进入cd /opt/mydata/webroot/test文件夹里面 解压名称为1的zip

59 2 7,15,20 * * cd /opt/mydata/webroot/test unzib -o 1.zip

每周六、周日的1 : 10 执行test.sh

10 1 * * 6,0 bash test.sh

每天18 : 00至23 : 00之间每隔30分钟执行test.sh

0,30 18-23 * * * bash test.sh

每星期六的晚上11 : 00 pm 执行bash test.sh

0 23 * * 6 bash test.sh

每一小时执行bash test.sh

0 */1 * * * bash test.sh

晚上11点到早上7点之间,每隔一小时执行bash test.sh

0 23-7/1 * * * bash test.sh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值