linux和windows定时执行php脚本的方法
以下内容引用自东坡网,感谢提供,这里保留引用和图片版权!
linux定时执行php脚本方法
linux系统实现计划任务一般采用crontab工具,下面详细介绍利用crontab工具定时执行php脚本。
1、首先确认crontab服务是否正常。
查看crontab服务状态:
service crond status
手动启动crontab服务:
service crond start
crontab加入开机启动:
chkconfig crond on
2、在crontab中使用wget执行php脚本
输入命令进入定时编辑界面:
crontab -e
键盘打出a,进入输入状态,输入如下代码:
*/5 * * * * wget -q http://网址/do.php?enews=resh
键盘打出ESC:wq,保存。上面这一行代码的意思是:每个5分钟执行一次后面的php脚本。蓝色部分必须是可以在浏览器访问且可以正常执行的网址。
crontab命令的前5个 * 分别代表:
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列 表示月份1~12
第5列标识号星期0~6(0表示星期天)
3、在crontab日常维护
查看crontab服务定时设置:
crontab -l
删除用户的全部定时设置:
crontab -r
要想停止某一个定时设置,只需进入crontab定时编辑界面,在定时设置的行首加注释符 # 即可。
windows计划任务执行php脚本方法
例如,我想让 G:ecms_7.2_UTFedongpositemapauto.php 文件能定时执行,自动生成sitemap文件,需要按如下方法执行:
1、编写bat文件
用计划任务执行php脚本常见的有两种方法,一种是用php执行,另一种是用浏览器explorer执行。php执行时不能加参数,但效率较高,explorer执行更加灵活。
在电脑上任意位置新建一个文本,名字是 auto.txt
(1)php执行方法时,在文本里输入内容:
"H:AppServphp5php.exe" -f "G:ecms_7.2_UTFedongpositemapauto.php"
以上内容中,红色部分是php.exe文件路径,蓝色部分是脚本路径。
(2)explorer执行方法时,在文本里输入内容:
explorer "http://网址/e/dongpo/sitemap/auto.php?tabname=news"
蓝色部分是脚本的完整网址。此时,auto.php文件尾部最好加入如下代码,作用时在执行后自动关闭刚才打开的浏览器:
closewin(); function closewin(){ var browserName=navigator.appName; if(browserName=="Netscape"){ var opened=window.open('about:blank','_self'); opened.opener=null; opened.close(); }else if(browserName=="Microsoft Internet Explorer"){ window.opener=null; window.open('','_self'); window.close(); } }
保存好之后,将此文件后缀改为.bat。我的bat文件的路径是 G:ecms_7.2_UTFedongpositemapauto.bat
2、新建计划任务
(1)控制面板 》 管理工具 》 任务计划程序,打开计划任务界面,在“计划任务程序库”上点击右键,选择“创建任务”。
(2)“常规”界面,填上名称,如“sitemap”。
(3)“触发器”界面,点击新建,新建一个触发器,触发器界面设置如图。我这里设置的是1分钟运行一次,永远执行下去。
新建好触发器后如图:
(4)“操作”界面,点击新建,新建一个操作,界面如图,选择“启动服务”,“程序或脚本”里填上刚才新建的bat文件的路径。“起始于”文本框里要填bat文件所在的目录,如果不填的话,是不会执行bat文件的。
新建好操作后界面如图
至此新建完毕,点击“保存”即可。最后界面如图:
想要停止计划任务,只需在此任务上点击右键,选择“禁用”。