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中间件如何使用_Laravel自定义中间件实现权限控制
IOS倒计时设置UIButton标题title的抖动问题
高性价比服务器租赁——企业级配置与24小时运维服务
魔毅自助建站系统:模板定制与SEO优化一键生成指南
WordPress 子目录安装中正确处理脚本路径的完整指南
Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析
C#如何调用原生C++ COM对象详解
详解vue.js组件化开发实践
JS实现鼠标移上去显示图片或微信二维码
Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
Laravel如何使用Blade模板引擎?(完整语法和示例)
如何快速完成中国万网建站详细流程?
javascript日期怎么处理_如何格式化输出
Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】
再谈Python中的字符串与字符编码(推荐)
Python并发异常传播_错误处理解析【教程】
Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】
微信h5制作网站有哪些,免费微信H5页面制作工具?
php做exe能调用系统命令吗_执行cmd指令实现方式【详解】
如何快速使用云服务器搭建个人网站?
Laravel观察者模式如何使用_Laravel Model Observer配置
MySQL查询结果复制到新表的方法(更新、插入)
简单实现Android验证码
Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理
js代码实现下拉菜单【推荐】
Python高阶函数应用_函数作为参数说明【指导】
如何在阿里云虚拟服务器快速搭建网站?
Laravel怎么实现微信登录_Laravel Socialite第三方登录集成
公司网站制作价格怎么算,公司办个官网需要多少钱?
JS去除重复并统计数量的实现方法
Android Socket接口实现即时通讯实例代码
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
如何在云虚拟主机上快速搭建个人网站?
Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制
制作电商网页,电商供应链怎么做?
如何快速搭建安全的FTP站点?
黑客如何利用漏洞与弱口令入侵网站服务器?
在线制作视频网站免费,都有哪些好的动漫网站?
PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑
佛山网站制作系统,佛山企业变更地址网上办理步骤?
html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】
Laravel distinct去重查询_Laravel Eloquent去重方法
如何使用 jQuery 正确渲染 Instagram 风格的标签列表
laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析
如何在景安服务器上快速搭建个人网站?
如何确保西部建站助手FTP传输的安全性?
如何快速查询网站的真实建站时间?
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
如何正确选择百度移动适配建站域名?

