Linux定时任务触发器,tp5.1 定时任务实现

前言

我和我的小伙伴们用thinkphp5.1写了一个微课堂的的小系统,要实现一个每天上课提醒和数据初始化的功能,现在方法写好了,不过每次执行都需要在管理员界面手动点一下,感觉好麻烦,如何让他每天定时自动执行呢?

bVbza9o?w=418&h=200

前人方法

谷歌上搜tp5.1 定时任务或者计划任务,会有很多博客,但是大多数都是Linux下的脚本,本人刚刚安装上Linux系统,对Linux不太熟悉,先用Windows系统实现。

思路

windows环境下与Linux环境下实现思路是一样的。

1.现将实现方法写到一个触发器里,实现可以点击跳转实现。

2.写一个脚本,实现自动打开摸个网页。

3.利用windows自带的定时任务每隔一段时间自动执行这个脚本。

实现

1.我们现在login控制器下写一个测试的触发器

public function test() // 自动执行测试

{

echo "这是一个定时任务的测试";

}

触发效果如下

bVbzbtH?w=590&h=306

2.写一个.bat形式的脚本,实现自动打开本网页。

再建一个.txt文件,写入执行成功信息。

bVbzbyQ?w=570&h=392

代码如下

@echo off

start iexplore.exe http://127.0.0.1/index/login/test

Ping -n 5 127.1>nul

Taskkill /f /im iexplore.exe

echo success >> test.txt

start iexplore.exe http://127.0.0.1/index/login/test 表示打开浏览器的网址具体网址写在最后,Ping -n 5 127.1>nul表示等待5秒,Taskkill /f /im iexplore.exe表示关闭浏览器,echo success >> test.txt表示返回成功到记事本,由于写注释在代码中会报错,故在此写一下代码注释。

点击测试.bat文件

bVbzby0?w=1306&h=668

记事本效果如下图

bVbzby3?w=487&h=318

也可以把写入记事本的代码改成钉钉提醒

代码如下

curl -X POST -H "Content-type: application/json" ^

--data "{\"text\": {\"content\": \"每日初始完成\"}, \"msgtype\": \"text\"}" ^

https://oapi.dingtalk.com/robot/send?access_token=23dc64f0dee37b5ee3b1ac472b2c84d837afa15b2a884b87b32f898998408a36

由于现在增加钉钉机器人功能暂时关闭,在此不再演示。

3.用windows自带计划任务实现定时自启动脚本

点开控制面板,点击管理工具->任务计划程序->创建基本任务

bVbzbAY?w=1620&h=535

名称:每日初始

触发器:每天

开始: //选择一个你喜欢的时间

操作:启动程序->选中这个脚本

完成

bVbzbBr?w=870&h=686

到设定的时间他就会自动启动。

结语

Linux系统具体操作方法不一样,但思路都是一样的,我将我看到的一篇博客连接提供到底下,等我了解Linux系统后,用Linux系统实现。

tp5.1 php计划任务crontab

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值