Ubuntu下如何用Crontab命令定时执行PHP文件

75次阅读
没有评论

共计 1920 个字符,预计需要花费 5 分钟才能阅读完成。

这篇文章主要介绍“Ubuntu 下如何用 Crontab 命令定时执行 PHP 文件”的相关知识,丸趣 TV 小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Ubuntu 下如何用 Crontab 命令定时执行 PHP 文件”文章能帮助大家解决问题。

前言

一般我在开发中,常用的定时任务有 2 种。一种是直接调用 php 文件执行,还有一种是调用远程 url 地址。

首先,先来亮相一下我们今天的主角,crontab 命令。这个是系统定时命令,作用是定时的去执行一些任务。包含一些系统级别的任务,当然用户也可以直接借用该命令来实现自己的一些计划任务。

该命令一般跟随系统启动,我们可以使用一下命令来查看是否 cron 是否启动

pgrep cron

如果启动了,会返回一个进程 id

crontab 文件一般存放于 /etc 目录下。我们使用,crontab - e 来编辑 cron 任务。(第一次用这个命令,会让你选择文本编辑器)

打开 cron 文件,注意观察最后一行 m h dom… 这里简要介绍一下它的意思。

m: 分钟,0-59

h: 小时,0-23

dom: 日期,1-31

mon: 月份,1-12

dow: 星期,0-6,0 为星期天

command: 命令

这里,我们应该已经知道其大概的用法了。我们只要在对应的位置填写上我们需要的数字日期,就可以使用它来表示:在某月(mon)的某天(dom)或者星期几(dow)的几点(h,24 小时制)几分(m)执行某个命令(command)。

举个栗子:

* * * * * php /path/to/your/cron.php
5 个星号分别代表定时指定每分、小时、日、月、周。* 19 * * * php /var/www/cron/crontab.php
讲第二个参数 h 填写为 19,则表示每天的下午 7 点执行 crontab.php。* * * * * php /path/to/your/cron.php 
每隔一分钟执行一次任务  
0 * * * * php /path/to/your/cron.php 
每小时的 0 点执行一次任务,比如 6:00,10:00 
6,10 * 2 * * php /path/to/your/cron.php 
每个月 2 号,每小时的 6 分和 10 分执行一次任务  
*/3,*/5 * * * * php /path/to/your/cron.php 
每隔 3 分钟或 5 分钟执行一次任务,比如 10:03,10:05,10:06

在这个例子中,我们看到不仅有数字还有星号和 / 等等符号。这些符号可以让定时更加的灵活。

*(星号):表示任意值,在相应位置填写 *,可以代表任意执行。比如 h 为 *,则为任意的小时

,(逗号):表示一个部分填写多个值,比如在 m 位置填写 1,5 代表 1 分钟或 5 分钟时候

/(斜杠):表示每隔多久,比如在 h 部分填写 */ 2 表示每隔 2 个小时,*/ 3 表示每隔 3 个小时,

*/ 1 和 * 无区别,所以可以省略。这里可以想想,*/ 2 表示能被 2 整除的时间就好理解了。

使用你的编辑器,保存 - 退出之后。重新启动 cron 任务。在每天的相应时间即可看到效果。

下面我们就先来说说 php 开发中,我常用的两种。

第一种:直接调用 php 文件

这种比较简单,我们新建一个 php 文件。向一个文件插入一些简单的日期内容。

#!/usr/bin/php -q
 ?php
$file =  /var/www/ .date(h). _ .date(i). _ .date(s). .txt 
file_put_contents($file,date( y-m-d));
?

注意:这种直接调用 php 文件需要在 php 文件最上方加入 #!/usr/bin/php - q 代码,而第二种方式(接下来会讲),是直接访问链接,通过 apache 来解析 php,这种 php 脚本则不需要加这段代码。

1 6 * * * /path/to/your/cron.php
每天的上午 6 点 01 分,执行 cron.php 文件 

第二种:通过访问 url 链接定时。

访问 url 链接需要借助于浏览器来实现。我们选择 lynx 浏览器,lynx 浏览器是一款轻便的 web 浏览器,使用于大部分 unix 和 linux 系统环境。安装命令:

sudo apt-get install lynx

然后就可以和直接访问 php 文件类似的定时访问 url 啦。

* * * * * lynx -dump http://weiya.me/index.php

注意这个地址最好用绝对地址,包含“http://”的完整 url。

关于“Ubuntu 下如何用 Crontab 命令定时执行 PHP 文件”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注丸趣 TV 行业资讯频道,丸趣 TV 小编每天都会为大家更新不同的知识点。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-15发表,共计1920字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)