全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 7198|回复: 25
打印 上一主题 下一主题

如何记录定时任务执行php脚本的执行过程时间?

[复制链接]
跳转到指定楼层
1#
发表于 2017-11-6 11:24:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
100金钱
如何记录定时任务执行php脚本的执行过程时间?

定时任务 */1 * * * * /usr/bin/wget -q --sp....  http://127.0.0.1/xxx.php

最佳答案

查看完整内容

PHP不在本地,那记录精度肯定很惨,比如只能记录开始时间和执行完毕时间。 本地新建一个run.sh的脚本 内容(注意反引号、引号等): #!/bin/sh export LANG=zh_CN.utf8 PATH=$PATH echo starttime:`date "+%Y-%m-%d %H:%M:%S"` /usr/bin/wget -q --sp.... http://127.0.0.1/xxx.php echo endtime:`date "+%Y-%m-%d %H:%M:%S"` 然后给予可执行权限:chmod +x run.sh 最后在Crontab里 */1 * * * * /run.sh >> run.log 就可以了 ...
2#
发表于 2017-11-6 11:24:48 | 只看该作者
本帖最后由 贱人就是矫情 于 2017-11-6 14:32 编辑

PHP不在本地,那记录精度肯定很惨,比如只能记录开始时间和执行完毕时间。

本地新建一个run.sh的脚本
内容(注意反引号、引号等):
#!/bin/sh
export LANG=zh_CN.utf8
PATH=$PATH
echo starttime:`date "+%Y-%m-%d %H:%M:%S"`
/usr/bin/wget -q --sp....  http://127.0.0.1/xxx.php
echo endtime:`date "+%Y-%m-%d %H:%M:%S"`

然后给予可执行权限:chmod +x run.sh

最后在Crontab里
*/1 * * * * /run.sh >> run.log
就可以了。


@hdown
time也是个不错的注意。
感谢hdown提供方法。

点评

`time /usr/bin/wget -q --sp.... http://127.0.0.1/xxx.php` 不就可以了?为什么写这么多代码?  发表于 2017-11-6 14:26
3#
发表于 2017-11-6 11:36:41 | 只看该作者
啥叫执行过程时间
4#
发表于 2017-11-6 11:40:52 | 只看该作者
为什么要用wget执行?
* * * * * php /www/domain/go.php >> run.log
不好么。
至于记录执行时间……
可以直接在PHP里写echo时间的参数,这样在打印日志里就会显示出来,而且精度好控制。

评分

参与人数 1威望 +13 收起 理由
欧阳逍遥 + 13 乐于助人

查看全部评分

5#
发表于 2017-11-6 11:42:54 | 只看该作者
3L 比较正确了。  输出日志 就好。
6#
 楼主| 发表于 2017-11-6 12:12:51 | 只看该作者
贱人就是矫情 发表于 2017-11-6 11:40
为什么要用wget执行?
* * * * * php /www/domain/go.php >> run.log
不好么。

有些不是本地的,而且这个不是我搞的,我只是接手的
还有办法吗
7#
 楼主| 发表于 2017-11-6 13:12:18 | 只看该作者
贱人就是矫情 发表于 2017-11-6 11:24
PHP不在本地,那记录精度肯定很惨,比如只能记录开始时间和执行完毕时间。

本地新建一个run.sh的脚本


echo starttime:`date "+%Y-%m-%d %H:%M:%S"`
/usr/bin/wget -q --sp....  http://127.0.0.1/xxx.php   #这个是相当于设置定时任务还是? 指明记录那个
echo endtime:`date "+%Y-%m-%d %H:%M:%S"`

日志内容成这样
starttime:date "+%Y-%m-%d %H:%M:%S"
endtime:date "+%Y-%m-%d %H:%M:%S"
starttime:date "+%Y-%m-%d %H:%M:%S"
endtime:date "+%Y-%m-%d %H:%M:%S"


我是小白 请见谅
8#
发表于 2017-11-6 13:24:51 | 只看该作者
tl3821 发表于 2017-11-6 13:12
echo starttime:`date "+%Y-%m-%d %H:%M:%S"`
/usr/bin/wget -q --sp....  http://127.0.0.1/xxx.php   # ...

奇怪,
我测试:echo starttime:`date "+%Y-%m-%d %H:%M:%S"`
可以正常输入时间。
建议你再检查下符号吧。
9#
 楼主| 发表于 2017-11-6 13:30:26 | 只看该作者
贱人就是矫情 发表于 2017-11-6 13:24
奇怪,
我测试:echo starttime:`date "+%Y-%m-%d %H:%M:%S"`
可以正常输入时间。


我以为大佬的符号写错了,所以我改了

貌似没办法批量记录定时任务?

/usr/bin/wget -q --sp....  http://127.0.0.1/xxx.php   #这个是相当于设置定时任务还是? 指明记录那个

大佬在帮下忙

我把剩下的金币也送你
10#
发表于 2017-11-6 14:02:22 | 只看该作者
tl3821 发表于 2017-11-6 13:30
我以为大佬的符号写错了,所以我改了

貌似没办法批量记录定时任务?

/usr/bin/wget -q --sp....  http://127.0.0.1/xxx.php是你要执行的文件啊。

整理了一下步骤,文件路径自己修正啊。
进入指定目录:/var/test
创建run.sh:vi run.sh
-----------
run.sh文件内容:
#!/bin/sh
export LANG=zh_CN.utf8
PATH=$PATH
echo 文件1执行时间:`date "+%Y-%m-%d %H:%M:%S"`
/usr/bin/wget -q --sp....  http://127.0.0.1/1.php
echo 文件1执行结束:`date "+%Y-%m-%d %H:%M:%S"`
echo 文件2执行时间:`date "+%Y-%m-%d %H:%M:%S"`
/usr/bin/wget -q --sp....  http://127.0.0.1/2.php
echo 文件2执行结束:`date "+%Y-%m-%d %H:%M:%S"`

-----------
赋予run.sh可执行权限:
chmod +x /var/test/run.sh

-----------
添加定时任务
每分钟执行一次并记录执行日志:
* * * * *  cd /var/test/ && ./run.sh >> /var/test/run.log

每分钟的第十秒执行并记录执行日志:
* * * * *  sleep 10; cd /var/test/ && ./run.sh >> /var/test/run.log


金币你留着吧,我已经升仙好几次了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-5-27 13:32 , Processed in 0.066904 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表