thinkphp 定时执行php文件

最近一个项目需要在服务器上每隔1分钟执行一次控制器的方法,从网上找了一下可以用计划任务来执行,自己也走了不少弯路,linux稍微简单一下,因为测试服务器是linux,客户用的是windows server 2016,所以正好两种方式都用到了。

简单说明一下我的需求,我需要服务器定时来执行一个网址即可,因为我在控制器中写好了方法,整个网址用的tp框架,所以很多网上写的代码可以模仿,但不能直接拿来用。

1、linux 

crond 是linux用来定期执行程序的命令,具体的使用方法可以百度或者查看其它详细的文档,这里不做详细说明,只说明如何通过crond来做一个定时任务。

有2中方法添加任务:

1.在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。

2.直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务。

如:

* * * * * sleep 1; /usr/bin/curl http://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)网上也有很多类似的文章。

时间: 2024-07-30 07:28:57

thinkphp 定时执行php文件的相关文章

thinkphp 定时执行php文件--windows系统任务计划

实现思路如下: 通过win的"任务"功能来定时执行一个bat文件,bat文件会调用php.exe文件,php.exe可以传递参数指定执行哪个类和方法 方法如下: 一,thinkphp开启cli支持 1.tp正好支持cli命令模式,手册的路径为13.7.4 如果是用的其他框架不支持cli,那么只能直接写程序了,其实就是写面向过程的最基础的php代码. 2.在入口文件下开启命令,加入一句 define('MODE_NAME', 'cli'); 网站一般还有可以通过网页访问的模块,所以可以新

thinkphp 定时执行php文件 php自动执行php文件

最近开发短信任务和短信发送功能,用到了定时执行php这方面:和大家分享一下: (个人笔记,写的不好,海涵海涵,看不懂的话可以留言,但是我一般都能及时回复,其他网上有很多这样的教程,大家一搜就满地) 我用的是thinkphp开发的程序,程序已经开发好了,程序有个分批定时发送功能,每隔一段时间查找一下数据库,然后把符合条件的短信任务给发送出去, 实现思路如下: 通过win的“任务”功能来定时执行一个bat文件,bat文件会调用php.exe文件,php.exe可以传递参数 指定执行哪个类和方法 方法

liunx 定时执行 php文件

which php    寻找php路径

Linux定时执行指定的脚本文件

Linux执行脚本文件,该脚本定时执行的是url链接:①在 cd /.scripts 目录下创建脚本 :    脚本文件格式 , 例如:curl.sh②在脚本中写入要执行的文件 :     /usr/bin/curl https://www.test.com/Test/test.php③命令crontab -e 里面定时执行指定的脚本 :    59 23 */2 * * /.scripts/curl.sh 该脚本的执行时间是每两天的23点59分执行

【ASP.NET 进阶】定时执行任务实现 (定时读取和修改txt文件数字内容,无刷新显示结果)

现在有很多网站或系统需要在服务端定时做某件事情,如每天早上8点半清理数据库中的无效数据等等,Demo 具体实现步骤如下: 0.先看解决方案截图 1.创建ASP.NET项目TimedTask,然后新建一个全局应用程序类文件 Global.asax 2.然后在Application_Start 事件中 启动定时器,如需要每隔多少秒来做一件事情,即在后台执行,与客户端无关,即使客户端全部都关闭,那么后台仍然执行,具体代码如下: using System; using System.Collection

通过MSSQl作业定时执行批处理BAT文件

前言 有些时候,我们可能会需要定时执行一下批处理来达到一定的目的,比如Oracle数据库的定时备份,当然Oracle也可以通过Rman实现定时备份.我们大多数的时候是通过操作系统的计划任务实现定时执行批处理. 但是当我们想要获取相关执行细节,MSSQL的作业是一个很好的选择. 具体方案 首先我们需要一个能够满足自己需求的批处理文件.比如Oracle的定时备份批处理 这个批处理可以将Oracle数据库备份至异地服务器上. 然后通过MSSQL的作业定时执行该批处理 首先要开启MSSQL的XPCmdS

linux命令行传递参数定期执行PHP文件

最近在做一个项目,需要在linux下传递参数定期执行PHP文件,网上查询资料,确实有相关资料,现整理如下: 1.linux执行PHP文件 #{PHP安装bin路径} {PHP文件路径} {需要参数1 参数2 参数3}#各参数之间,用空格分开#查看php安装bin路径 可执行which php命令 /usr/bin/php /local/www/index.php 111 222 333 2.接收参数 一般情况下,php接收命令行传递过来的参数,$argv保存所有参数组成的数组,$argc保存参数

linux定时执行任务

1)编写shell脚本: [[email protected] cvv]# cat test1.sh #!/bin/sh /bin/date>>/home/cvv/test.log echo "Hello World ! by cvv54">>/home/cvv/test.log 赋予可执行权限: [[email protected] cvv]# chmod 777 test1.sh 2)利用crontab加入定时任务队列 新建一个cron文件,写入需要定时执行

定时执行某一次任务

有一次白天上班时间修改了录音服务器通道,服务需要重启才能生效. 领导交待要等到晚上十一点左右,呼叫中心人员全部下班,才能重启. 可是下午六点就到了我的下班时间,于是用到了at命令定时执行一次任务. 以重启httdp为例 # at 23:10 >>systemctl restart httpd.service >>echo "reboot httpd.service success" > rebootlog.txt ctrl+d 保存退出 第二天上班后,查看