免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4050 | 回复: 13
打印 上一主题 下一主题

[定时程序] 如何在指定的时间间隔内读取log文件? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-10-18 15:02 |只看该作者 |倒序浏览
我希望实现:指定一个时间间隔(例如1分钟)
使php每隔一分钟读取一次log文件
如果文件更新了,就发一封mail。
最初的做法:
由a.php向/etc/crontab里写入命令,执行b.php.
如:  1 * * * * * *  root   /../b.php
然后由b.php判断log是否更新,发邮件。
可是,crontab似乎不能执行Php文件。
在这卡了好一阵子了,谁能帮帮忙,指点一下思路,谢谢

论坛徽章:
0
2 [报告]
发表于 2005-10-18 15:28 |只看该作者

[定时程序] 如何在指定的时间间隔内读取log文件?

自己顶
别沉了

论坛徽章:
0
3 [报告]
发表于 2005-10-18 15:58 |只看该作者

[定时程序] 如何在指定的时间间隔内读取log文件?

第一次发贴求助
期待中…………

论坛徽章:
0
4 [报告]
发表于 2005-10-18 16:04 |只看该作者

[定时程序] 如何在指定的时间间隔内读取log文件?

做个驻留程序定时运行php脚本吧,目前我们就是这么做的,好像用的apache下的什么东西,我不是很清楚。以前好像讨论过这个主题,你翻翻以前的帖子也行。

论坛徽章:
62
2016科比退役纪念章
日期:2016-06-28 17:45:06奥兰多魔术
日期:2015-05-04 22:47:40菠菜神灯
日期:2015-05-04 22:35:07菠菜神灯
日期:2015-05-04 22:35:02NBA季后赛大富翁
日期:2015-05-04 22:33:34NBA常规赛纪念章
日期:2015-05-04 22:32:032015年亚洲杯纪念徽章
日期:2015-04-14 16:54:452015年亚洲杯之朝鲜
日期:2015-03-19 23:03:16明尼苏达森林狼
日期:2015-03-16 21:51:152015小元宵徽章
日期:2015-03-06 15:57:202015年迎新春徽章
日期:2015-03-04 09:55:282015年辞旧岁徽章
日期:2015-03-03 16:54:15
5 [报告]
发表于 2005-10-18 16:13 |只看该作者

[定时程序] 如何在指定的时间间隔内读取log文件?

能用crontab,就无论如何不要写驻留程序。

原帖由 "skypopo" 发表:
由a.php向/etc/crontab里写入命令,执行b.php.
如:  1 * * * * * *  root   /../b.php .


这说的什么啊。
/../b.php???????

论坛徽章:
0
6 [报告]
发表于 2005-10-18 16:46 |只看该作者

[定时程序] 如何在指定的时间间隔内读取log文件?

如果你用cron,那么php程序要写成shell脚本形式吧。
另外你那个路径最好写全。
下面是php手册上摘录的:
另一个方法将 PHP 用于外壳脚本。可以在写一个脚本,并在第一行以 #!/usr/bin/php 开头,在其后加上以 PHP 开始和结尾标记符包含的正常的 PHP 代码,然后为该文件设置正确的运行属性(例如:chmod +x test)。该方法可以使得该文件能够像外壳脚本或 PERL 脚本一样被直接执行。
#!/usr/bin/php
<?php
    var_dump($argv);
?>;

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
7 [报告]
发表于 2005-10-18 17:50 |只看该作者

[定时程序] 如何在指定的时间间隔内读取log文件?

在正常情况下,如果你没有服务器的操作权限,那么你是没有办法做得。

可以有另外一个办法,在另外一台电脑上面,定时连接服务器的程序

论坛徽章:
0
8 [报告]
发表于 2005-10-19 02:03 |只看该作者

[定时程序] 如何在指定的时间间隔内读取log文件?

1 * * * * * *  root   /../b.php

1 * * * * * *  root   wget  http://path to/b.php

论坛徽章:
0
9 [报告]
发表于 2005-10-19 16:37 |只看该作者

[定时程序] 如何在指定的时间间隔内读取log文件?

原帖由 "skypopo" 发表:
我希望实现:指定一个时间间隔(例如1分钟)
使php每隔一分钟读取一次log文件
如果文件更新了,就发一封mail。
最初的做法:
由a.php向/etc/crontab里写入命令,执行b.php.
如:  1 * * * * * *  root   /../b...........


crontab 是针对各个系统用户来操作的, 你向 /etc/crontab 写入命令算什么意思呢?

还有, 你的 crontab 配置格式也不对啊, 那个 root 表示什么? 是一个程序的名称吗??

crontab文件写好后, 应该以用户身份运行一次 crontab <conrtab file>; 才会生效, 可以执行 crontab -l 看看有没有写进去

像linux下面 ,crontab文件的真实路径一般是 /var/spool/crontab/<登录名>;

.php文件一般不作为可执行文件, 可以把PHP文件名, 当成 /usr/local/bin/php 的参数来跑

论坛徽章:
62
2016科比退役纪念章
日期:2016-06-28 17:45:06奥兰多魔术
日期:2015-05-04 22:47:40菠菜神灯
日期:2015-05-04 22:35:07菠菜神灯
日期:2015-05-04 22:35:02NBA季后赛大富翁
日期:2015-05-04 22:33:34NBA常规赛纪念章
日期:2015-05-04 22:32:032015年亚洲杯纪念徽章
日期:2015-04-14 16:54:452015年亚洲杯之朝鲜
日期:2015-03-19 23:03:16明尼苏达森林狼
日期:2015-03-16 21:51:152015小元宵徽章
日期:2015-03-06 15:57:202015年迎新春徽章
日期:2015-03-04 09:55:282015年辞旧岁徽章
日期:2015-03-03 16:54:15
10 [报告]
发表于 2005-10-19 16:44 |只看该作者

[定时程序] 如何在指定的时间间隔内读取log文件?

原帖由 "hightman" 发表:


crontab 是针对各个系统用户来操作的, 你向 /etc/crontab 写入命令算什么意思呢?

还有, 你的 crontab 配置格式也不对啊, 那个 root 表示什么? 是一个程序的名称吗??

crontab文件写好后, 应该以用户身份运行..........


就是,简直每个字母都有问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP