【发布时间】:2017-01-18 01:31:00
【问题描述】:
我试图每小时运行一个脚本来检查文件是否已更改,如果已更改,则它会发送一封电子邮件。所以我在另一篇帖子 (PHP - Email notification whenever a remote file changes) 中发现:
$url='http://media1.clubpenguin.com/play/en/web_service/game_configs/paper_items.json';
$ch = curl_init($url);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
$execute = curl_exec($ch);
$fp=fopen('old.json','w+');
$oldjson=fread($fp,filesize('old.json'));
if($execute!=$oldjson){
mail('your@mail.com','Yoohoo', 'File changed');
fputs($fp,$execute);
}
fclose($fp);
并将两个文件(空白的 old.json 和 scriptTestForCron.php)放在我的 cron.hourly 文件夹中。我将示例中给出的 url 更改为要查看是否已更改的文件的文件路径,以及邮件信息。问题是它没有通知我它失败了,也没有发送电子邮件,所以我不知道它是否真的运行了。有什么办法可以查吗?还有什么原因它目前无法正常工作?
我试图更改我的 crontab 文件以运行它并将日志发送到特定文件,但还没有收到任何东西。
# run-parts
15 * * * * root run-parts /etc/cron.hourly
# php
1 * * * * php /etc/cron.hourly/scriptTestForCron.php >> /var/log/testLog
这两行中的哪一行不应该运行脚本文件吗?
【问题讨论】:
-
你能告诉我们更多细节吗?向我们展示你如何定义 cron 等?
-
还要检查您的系统日志文件,cron 会记录其活动和结果除非您特别禁止...
-
上面的代码在一个名为 scriptTestForCron.php 的文件中,我把它放在了我的 cron.hourly 文件夹中。在我的 crontab 文件中声明:# run-parts 15 * * * * root run-parts /etc/cron.hourly 是你的意思吗?