重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要介绍Ubuntu系统中如何使用Crontab命令定时执行PHP文件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
成都创新互联主营迁安网站建设的网络公司,主营网站建设方案,重庆APP软件开发,迁安h5小程序开发搭建,迁安网站营销推广欢迎迁安等地区企业咨询首先,先来亮相一下我们今天的主角,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文件需要在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文件”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联成都网站设计公司行业资讯频道!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。