0

我正在使用下面提到的代码来运行 cron 作业。我每分钟都在运行 cron 作业。cron 文件检查是否有可供特定用户使用的新数据。如果有那么只需将其插入数据库。

问题 我已经使用 tail -n 10 /var/log/cron命令检查了 SSH,它说 cronjob 在一分钟前运行,这很好,但它没有在数据库中输入数据,因为有一个新数据可用的。当我直接访问 URL 时,它成功添加了数据。有谁知道我可能做错了什么,任何指导都会很棒。

定时任务代码

*/1 * * * * wget http://www.disciplinexgames.com/runkeeper/index.php >/dev/null 2>&1

PHP 代码

$query = "Select * " .
         "from data_feeds " .
         "where username='mark@example.com' " .
           "and gadget_data_type='Weighin' " .
           "and gadget_data_type_id='3283123'";

$result = $dbCon->query($query);

//check if it is a new id..

if(mysql_num_rows($result) == 0){
    //Insert into database..
}
4

2 回答 2

0

几个想法:

  1. 使用/usr/bin/wget代替wget
  2. 将 URL 放在引号中
  3. 将结果重定向到文件,如> ~/cron_debug.log 2>&1
于 2013-06-20T12:08:25.073 回答
0

我使用类似的代码CRON-STUFF wget http://page.com/path/script.php --delete-after >/dev/null 2>/dev/null来触发 cron PHP 脚本,所以我认为没有问题。

一些想法。

  • 您是否在独立脚本中放入了 MySQL 连接内容(我认为我大多忘记了)
  • 您是否在没有 cron 的情况下执行了命令并且它完成了这项工作?如果是,脚本是否存在一些权限(文件/用户)问题?
于 2013-06-20T12:15:28.977 回答