Ubuntu系统下用Crontab命令定时执行PHP文件详解

发布时间 - 2026-01-11 02:05:25    点击率:

前言

一般我在开发中,常用的定时任务有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  # crontab命令  # 执行php文件  # Linux之crontab定时执行脚本方式  # django-crontab 定时执行任务方法的实现  # Linux crontab定时执行Shell脚本需要执行特定的命令时解决思路  # Linux下的crontab定时执行任务命令详解  # Linux定时执行任务at和crontab命令详解  # Centos 7下利用crontab定时执行任务详解  # linux下定时执行任务的方法及crontab 用法说明(收集整理)  # 如何使用Linux的Crontab定时执行PHP脚本的方法  # crontab设置每分钟、每小时、每天、每周、每月、每年定时执行的脚本  # 每隔  # 直接调用  # 来实现  # 如在  # 编辑器  # 每小时  # 第二种  # 就可以  # 自己的  # 我在  # 在这个  # 多个  # 不需要  # 就好  # 两种  # 这段  # 第二个  # 可以直接  # 几分  # 几点 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何实现用户注册和登录?(Auth脚手架指南)  Laravel Blade模板引擎语法_Laravel Blade布局继承用法  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  高性能网站服务器部署指南:稳定运行与安全配置优化方案  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作  Laravel怎么判断请求类型_Laravel Request isMethod用法  php在windows下怎么调试_phpwindows环境调试操作说明【操作】  Laravel如何实现API速率限制?(Rate Limiting教程)  瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口  Laravel如何实现一对一模型关联?(Eloquent示例)  html如何与html链接_实现多个HTML页面互相链接【互相】  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  智能起名网站制作软件有哪些,制作logo的软件?  千库网官网入口推荐 千库网设计创意平台入口  香港服务器网站卡顿?如何解决网络延迟与负载问题?  Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程  Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全  如何解决hover在ie6中的兼容性问题  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  linux top下的 minerd 木马清除方法  深圳网站制作的公司有哪些,dido官方网站?  Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程  Python正则表达式进阶教程_复杂匹配与分组替换解析  怎样使用JSON进行数据交换_它有什么限制  html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】  图册素材网站设计制作软件,图册的导出方式有几种?  高防服务器租用如何选择配置与防御等级?  公司网站制作需要多少钱,找人做公司网站需要多少钱?  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  企业网站制作这些问题要关注  Python数据仓库与ETL构建实战_Airflow调度流程详解  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】  HTML 中如何正确使用模板变量为元素的 name 属性赋值  浅谈javascript alert和confirm的美化  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】  Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】  中山网站制作网页,中山新生登记系统登记流程?  Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  简历在线制作网站免费版,如何创建个人简历?  如何快速搭建自助建站会员专属系统?  Laravel如何处理异常和错误?(Handler示例)