Linux定时任务,使用Crontab定时执行php脚本

最近在完成一个任务,是Linux下定时执行php脚本,来完成对某个接口运转情况的监控,使用的方法 是用Linux里的Crontab定时器,查阅了很多资料,资料讲的不是太全,有些也有错误,在其中我也绕了很多弯路,故记录一下自己使用Crontab来实现定时任务的过程,希望能与大家分享一下

对于Crontab的解释和叙述我就不多说了,网上已经讲解的很详细了,直接上例子

一、在你的Linux上安装Crontab,这个自行百度安装过程

二、先使用select-editor命令来选择编辑器,这里选的是2,请把具体的内容对应到你自己的Linux系统中(你可能选3或者其他的)
这里写图片描述

选择这个的目的是为了防止后面的Crontab里面的内容无法修改

三、执行crontab -e 命令,编辑自己要定时的任务
Linux定时任务,使用Crontab定时执行php脚本_第1张图片

按一下‘a’进入编辑模式
在图片的下面一行输入

* * * * * php(php执行文件在你Linux系统下的全路径名) /opt/../../../**.php(你要执行的全路径名的php脚本)

当然,我这个设置的是每分钟执行一次,设置时间就通过前面五个‘*’来进行设置,具体什么规则请大家自行百度一下就ok了

输入完毕后,按Ctrl+C退出编辑模式
按shift+:,输入wq, 保存退出
到此为止,这个crontab任务就编辑完成了

四、执行自己编写的Crontab

首先,执行一下crontab -l的命令,查看一下你刚才编写的crontab
Linux定时任务,使用Crontab定时执行php脚本_第2张图片
图片下面一行是你编辑的内容

确认无误,执行sudo service cron start命令

这里写图片描述

出现这个,说明crontab执行成功,之后就是每分钟执行一次我刚才的那个脚本了

想要停止执行crontab,执行sudo service cron stop命令
这里写图片描述

出现这个,则停止执行

需要注意的几点:

  1. 一般编辑完内容后保存就自动执行crontab了,可以不执行那个sudo service cron start,因为会造成多个线程,即每轮执行多次
  2. ps -A | grep cron命令用来查看有多少个cron进程
  3. 如果不想再执行任务了,必须要在crontab -e里面把自己添加的内容注释掉(前面加‘#’)

你可能感兴趣的:(PHP,Linux)