最近一个项目需要在服务器上每隔1分钟执行一次控制器的方法,从网上找了一下可以用计划任务来执行,自己也走了不少弯路,linux稍微简单一下,因为测试服务器是linux,客户用的是windows server 2016,所以正好两种方式都用到了。
专注于为中小企业提供网站设计、做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业徽州免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上1000+企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。简单说明一下我的需求,我需要服务器定时来执行一个网址即可,因为我在控制器中写好了方法,整个网址用的tp框架,所以很多网上写的代码可以模仿,但不能直接拿来用。
1、linux
crond 是linux用来定期执行程序的命令,具体的使用方法可以百度或者查看其它详细的文档,这里不做详细说明,只说明如何通过crond来做一个定时任务。
有2中方法添加任务:
1.在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。
2.直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务。
如:
* * * * * sleep 1; /usr/bin/curlhttp://www.sxfewwa.com/Home/JPush/autoConfirm
每隔一分钟 用curl 方式执行一次 这个链接
分 小时 日 月 星期 命令
0-59 0-23 1-31 1-12 0-6 command (取值范围,0表示周日一般一行对应一个任务)
2、windows server
第一步,编写好自己的方法,php文件,测试的话可以用 test.php 代码如下:
$fp = fopen("test.txt", "a+");
fwrite($fp, date("Y-m-d H:i:s") . " 成功成功了!\n");
fclose($fp);
?>
如果是用的thinkphp,和我一样的话,Controller 中的方法和其他一样,当然可以添加一个
function test(){
$fp = fopen("test.txt", "a+");
fwrite($fp, date("Y-m-d H:i:s") . " 成功成功了!\n");
fclose($fp);
}
第二步:写bat文件
set link=http://www.sxfewwa.com/Home/JPush/autoConfirm
Start iexplore "%link%"
Ping -n 80 127.1>nul
Taskkill /f /im "iexplore.exe"
3、windows 稍微麻烦一些,需要在管理工具->计划任务,中创建一个任务
过程可以查看(http://blog.csdn.net/woshixuye/article/details/18050769)网上也有很多类似的文章。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网站名称:thinkphp定时执行php文件-创新互联
网页地址:http://lswzjz.com/article/dihcco.html