PHP第三篇:Ubuntu16.0.4 crontab 设置定时任务运行php文件

crontab是Ubuntu系统自带的系统级定时任务执行工具。类似于windows系统的任务计划。

网上虽然有很多这方面的教程,但还是让我在使用的过程中产生疑惑以及无解。。。(拜托大佬们写教程的时候写清楚点。。。)

参考:ubuntu定时执行任务

第一次用要注意一些问题,下面会说到。

root用户登陆终端,否则的话下面的命令加sudo运行

首先确认cron是否在运行

ps -ef | grep cron

如果没有在运行就开启它,如果下面命令无法启动,再去百度一下吧,我没试过,是参考上面的教程的。

sudo service cron start

然后开始使用crontab

crontab -e

第一运行的话,它会提示 下面这句话,别急,他只是说你之前没有定时任务,现在给你新建一个文件用来编写你的定时任务

no crontab for root - using an empty one 888

接着如果出来下图的东西:

这是告诉你选择编辑器打开,选择你熟悉的编辑器就会自动打开定时任务文件。

ok,如果你没选择编辑器,就像我一样,当时不懂这是什么操作,以为出问题了,就退出去了。

下次再运行crontab -e 就只会提示 :no crontab for root - using an empty one 888

这时候你就需要重新用命令 select-editor 弹出上图继续选择默认编辑器。

选择好之后,运行crontab -e就会打开新建的文件了,如下图

上面我已经新建了一个定时任务,运行php文件。

对,50 11 * * * 代表每天11:50  ,/usr/local/bin/php 是系统php所在位置,后面跟着的就是你要运行的php文件。

最后保存文件,我用的是vim 所以正常的  :wq 保存文件就可以了

下面列一下,定时任务的各种时间表示,至于任务如何运行,就跟你平时怎么在终端运行你的程序一样。你也可以用你的执行命令在终端跑一下,测试是不是能成功执行。

先解释定时的时间格式,前面五个数字分别代表 分 时 天 月 周

  • 第一个字段:分钟(0~59)
  • 第二个字段:小时(0~23,0表示0点
  • 第三个字段:日期(1~31)
  • 第四个字段:月份(1~12)
  • 第五个字段:周(0~7),数字0或7都代表“星期日”
  • 第六个command:就是要执行的命令
  • * (星号) 表示任意值,比如在小时部分填写 * 代表任意小时(每小时) 
  • ,(逗号) 可以允许在一个部分中填写多个值,比如在分钟部分填写 1,3 表示一分钟或三分钟
  • -(减号):代表一段时间范围内,比如10 9-12 * * * 表示9点到12点之间每个小时的第10分钟都执行程序
  • /(斜线) 一般配合 * 使用,代表每隔多长时间,比如在小时部分填写 /2 代表每隔两分钟。所以 /1 和 * 没有区别

ps:周与日和月不能同时并存!!

1.每多少秒/分钟/小时/天/月/年 开始运行程序

由于没有秒这个选项,就无法做到每多少秒运行程序了。每秒运行程序的意义也不大。

每x分钟执行 */x * * * * command

每x小时执行 * */x * * * command

每x天执行 * * */x * * command

每x月执行 * * * */x * command

x周执行 * * * * */x command

每小时执行     0 * * * * command

每天执行        0 0 * * * command

每周执行       0 0 * * 0 command

每月执行        0 0 1 * * command

每年执行       0 0 1 1 * command

2.指定日期执行

每天x点y分执行程序:y x * * * command

每周z x点y分执行程序 y x * * z command

每月z日x点y分执行程序 y x z * * command

3.指定时段执行

每天在x点到y点之间每隔z小时执行程序 0 x-y/z * * * command

每天在x点到y点之间每隔z分钟执行程序 0,z x-y * * * command

每月在周x到周y之间w时z分钟执行程序 z w * * mon-wed command

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值