【转】PHP计划任务:如何使用Linux的Crontab执行PHP脚本

转:https://www.centos.bz/2011/03/auto-run-task-crontab/

我们的PHP程序有时候需要定时执行,我们可以使用ignore_user_abort函数或是在页面放置js让用户帮我们实现。但这两种方法都不太可靠,不稳定。我们可以借助LinuxCrontab工具来稳定可靠地触发PHP执行任务。
下面介绍Crontab的两种方法。

一、在Crontab中使用PHP执行脚本

就像在Crontab中调用普通的shell脚本一样,使用PHP程序来调用PHP脚本。
每一小时执行myscript.php如下:

  1. # crontab -e
  2. 00 * * * * /usr/local/bin/php /home/john/myscript.php

/usr/local/bin/php为PHP程序的路径。

二、在Crontab中使用URL执行脚本

如果你的PHP脚本可以通过URL触发,你可以使用lynx或curl或wget来配置你的Crontab。
下面的例子是使用Lynx文本浏览器访问URL来每小时执行PHP脚本。Lynx文本浏览器默认使用对话方式打开URL。但是,像下面的,我们在lynx命令行中使用-dump选项来把URL的输出转换来标准输出。

  1. 00 * * * * lynx -dump http://www.centos.bz/myscript.php

下面的例子是使用CURL访问URL来每5分执行PHP脚本。Curl默认在标准输出显示输出。使用"curl -o"选项,你也可以把脚本的输出转储到临时文件。

  1. */5 * * * * /usr/bin/curl -o temp.txt http://www.centos.bz/myscript.php

下面的例子是使用WGET访问URL来每10分执行PHP脚本。-q选项表示安静模式。"-O temp.txt"表示输出会发送到临时文件。

    1. */10 * * * * /usr/bin/wget -q -O temp.txt http://www.centos.bz/myscript.php

【转】PHP计划任务:如何使用Linux的Crontab执行PHP脚本,布布扣,bubuko.com

时间: 2024-10-12 15:56:28

【转】PHP计划任务:如何使用Linux的Crontab执行PHP脚本的相关文章

PHP计划任务:如何使用Linux的Crontab执行PHP脚本

我们的PHP程序有时候需要定时执行,我们可以使用ignore_user_abort函数或是在页面放置js让用户帮我们实现.但这两种方法都不太可靠,不稳定.我们可以借助Linux的Crontab工具来稳定可靠地触发PHP执行任务. 下面介绍Crontab的两种方法. 一.在Crontab中使用PHP执行脚本 就像在Crontab中调用普通的shell脚本一样(具体Crontab用法),使用PHP程序来调用PHP脚本. 每一小时执行myscript.php如下: # crontab -e 00 *

Linux问题:Crontab 执行shell脚本时相对路径的问题,不能识别。

问题描述:在linux中的直接执行shell脚本可以用相对路径找到文件,但是如果通过计划任务crontab执行shell脚本时,却不能通过相对路径找到文件! 例子: shell脚本文件代码~ #! /bin/sh Logfile = './1.txt'; date >> $Logfile; echo '------'; 直接执行shell脚本,可以在1.txt文件中看到执行结果,但是如果用crontab计划任务去执行,却在1.txt中看不到执行结果.换成绝对路径就可以,代码如下 #! /bin

linux环境中执行Mysql脚本

1.首先进入shell~ 2.进入服务器后,输入mysql -h localhost -u root -p,进入MySql: 3.输入MySql密码: 4.将脚本复制到服务器,具体怎么做,可以用Xftp; 5.例如,我执行的test.sql,在/usr/local/test.sql目录下,在shell中输入source /usr/local/test.sql linux环境中执行Mysql脚本,布布扣,bubuko.com

linux利用crontab执行sqldump 定时备份数据库

linux利用crontab执行sqldump 定时备份数据库 : #!/bin/bash var=`date +%Y%m%d` /usr/local/mysql/bin/mysqldump  --databases core|gzip >/apps/sqldump/bak/core${var}.gz /usr/local/mysql/bin/mysqldump  --databases access_service|gzip > /apps/sqldump/bak/access_servic

关于 Linux 下后台执行 Python 脚本的缓冲问题

[问题简述] 在 Linux 下后台执行 Python 脚本,重定向到日志文件,日志文件迟迟没有内容. [方案一](测试有效) nohup python3 -u t.py &> log.log & [方案一](测试无效) 方案二来自 stackoverflow,虽然测试无效,但其他地方也许会用到,记录一下. stdbuf -oL nohup python3 t.py &> log.log & *** walker *** 原文地址:http://blog.51c

Linux下如何执行Shell脚本

Linux下你可以有两种方式执行Shell脚本: 1.用shell程序执行脚本:根据你的shell脚本的类型,选择shell程序,常用的有sh,bash,tcsh等(一般来说第一行#!/bin/bash里面指明了shell类型的,比如#!/bin/bash指明是bash,#!/bin/sh则是sh):然后输入命令(其中bash为shell的名称,myshell.sh则为你要执行的代码): bash myshell.sh 2.直接执行脚本: 不过首先的加上可执行权限(也许要root权限,4情况而定

Linux定时循环执行python脚本

本文主要介绍在linux环境下,定时循环执行python脚本的两种方法. 方法一: nohup vim time.py 1 import time 2 while(True): 3 #time.sleep(1) 4 with open('time.log', 'a+') as logfile: 5 logfile.write('Hello, World!\n') 6 time.sleep(1) 7 #break 在终端运行如下命令 nohup python time.py & 功能:实现了每秒将

linux shenll 远程执行本地脚本或者执行命令

一.远程执行本地脚本 ssh [email protected]服务器IP地址 "bash"< **.sh 多台服务器可以用循环来实现. ssh [email protected] "bash" < **.sh $name $name2 # name为变量,此方法可以实现远程脚本调用本地变量. 二.远程执行命令 ssh [email protected] "cd /data/gamedate;ll" 双引号可以执行多条命令并用';'分

linux下直接执行PHP脚本

#!/opt/lampp/bin/php <?php echo "test\n"; ./test.php [[email protected] wwwroot]# ./test.php test [[email protected] wwwroot]#