PHP创建Windows计划任务及At命令的简单介绍
在Windows系统下使用PHP做定时任务时,往往选择依赖Windows系统的计划任务来实现。
先看一段bat脚本命令:
autoBackup.bat
at 11:20:00 /every:M,T,W,TH,F,S,SU "D:\Program Files\wamp\www\View0226\protected\auto\windows\curl.exe" -s http://192.168.1.77/View0226/index.php?r=databack/backup
简单解释一下:
使用了At命令,意思为: 在 11:20:00 每天 调用此路径下的curl.exe文件 访问后面的网址
PHP可以使用exec来执行本文件:
exec($path.'\autoBackup.bat',$output);
$output为bat文件执行后的输出,解析为数组:
array ( 0 => '', 1 => 'D:\\Program Files\\wamp\\www\\View0226>at 11:20:00 /every:M,T,W,TH,F,S,SU "D:\\Program Files\\wamp\\www\\View0226\\protected\\auto\\windows\\curl.exe" -s http://192.168.1.77/View0226/index.php?r=databack/backup', 2 => '新加了一项作业,其作业 ID = 1', );
查看下Windows的计划任务:
如果需要删除本计划任务,也需要一个bat文件,可以借用$output数组的中的"ID = 1"来删除该计划任务:
delete.bat
at 1 /Delete
End.