aliounian 发表于 2011-12-22 08:54

Red Hat Linux 定时执行 PHP 文件

<div id="content"><p>SHELL=/bin/bash<br>PATH=/sbin:/bin:/usr/sbin:/usr/bin<br>MAILTO=root<br>HOME=/</p>
<p># run-parts<br>01 * * * * root run-parts /etc/cron.hourly<br>02 4 * * * root run-parts /etc/cron.daily<br>22 4 * * 0 root run-parts /etc/cron.weekly</p><table width="97%" align="center" border="0"><tbody><tr><td colspan="3"><br></td></tr></tbody></table><br>42 4 1 * * root run-parts /etc/cron.monthly<br>01 8 * * * root /home/www/db_back/bk.sh<br><br>10 8 * * * root /opt/lampp/bin/php /home/www/deleteOldDB.php
<p>/opt/lampp/bin/php&nbsp; 是你的 php 安装目录,你可以根据你的服务器来设置。</p>
<p>你先可以在你服务器里的 shell 里先试一下 能执行 .php 文件吗,如果可以那么说明这个目录可以用。</p>
<p>如: cd /opt/lampp/bin&nbsp; 回车</p>
<p>xxxxx$: ./php&nbsp; /var/www/test.php</p>
<p>如果可以执行那么你就用这个目录,服务器版本不同目录不同, <a href="http://www.linuxidc.com/topicnews.aspx?tid=2" title="Ubuntu" target="_blank" target="_blank">Ubuntu</a> 要安装 php5-cli 才可以用。</p>
<p>之后你去编辑&nbsp; crontab 文件, vi /etc/crontab 上面的代码就是了。</p>
<p>网上好多资料说要在 php 文件里面上&nbsp; #bath .....之类的,我试了试不用加就可以执行,。</p>
<p>&nbsp;/opt/lampp/bin/php&nbsp;&nbsp; 这个是转到这个目录的 php 执行文件 用这个文件去执行 绝对目的 .php 文件如 /home/www/deleteOldDB.php 文件。</p>
<p>你也可以在 shell 下面进行访问如 XXXX #:&nbsp; cd /opt/lampp/bin/php 之后进入这个目录,&nbsp; 输入 ./php&nbsp; /home/www/deleteOldDB.php</p>
<p>这样就可以访问 php 文件了,如果这里不能访问那定时执行那儿也就不可以执行了。(转)</p><p><br></p><p>PS:</p><p>1、如果php引用到了其他php文件,如连接数据库的conn.inc,则路径必须是绝对路径(/home/workpath/phproject/.../conn.inc),否则会出现错误,可能是定时任务只能读绝对路径吧!</p><p>2、每次设置好定时任务时,记得执行/etc/init.d/cron restart重启定时器<br></p></div>
页: [1]
查看完整版本: Red Hat Linux 定时执行 PHP 文件