由crontab运行的脚本不会生成数据

时间:2016-05-12 13:30:17

标签: php cron crontab cacti poller

使用Cacti,我试图运行以下命令:

php poller.php> test.cfg

正如预期的那样,我得到以下输出:

root@SLINUX01:[/usr/local/cacti]$tail -f test.cfg
Waiting on 1 of 1 pollers.
Waiting on 1 of 1 pollers.
Waiting on 1 of 1 pollers.
Waiting on 1 of 1 pollers.
05/12/2016 01:23:50 PM - POLLER: Poller[0] CACTI2RRD: /usr/bin/rrdtool update /usr/local/cacti/rra/stse01_traffic_in_14.rrd --template traffic_out:traffic_in 1463052230:2773678063:3900704413
05/12/2016 01:23:50 PM - POLLER: Poller[0] CACTI2RRD: /usr/bin/rrdtool update /usr/local/cacti/rra/stse01_traffic_in_15.rrd --template traffic_in:traffic_out 1463052230:1071486:1088742
05/12/2016 01:23:50 PM - SYSTEM STATS: Time:5.4128 Method:cmd.php Processes:1 Threads:N/A Hosts:3 HostsPerProcess:3 DataSources:9 RRDsProcessed:7
Loop  Time is: 5.41
Sleep Time is: 294.58
Total Time is: 5.42
^C

我的操纵已更新。

现在使用crontab,我做了以下内容:

*/5 * * * * cacti php /usr/local/cacti/poller.php > /home/cacti/test.cfg &>/home/cacti/test.cfg

但是当我在cron执行后进入/home/cacti/test.cfg时,我什么也没得到,但是cron运行了脚本:

May 12 15:25:01 SLINUX01 CROND[19871]: (root) CMD (cacti php /usr/local/cacti/poller.php > /home/cacti/test.cfg &>/home/cacti/test.cfg)

这个问题的根源是什么?

提前致谢。

1 个答案:

答案 0 :(得分:2)

您的cron日志条目仅表示命令已尝试。它不保证命令已成功启动(权限问题?环境变量未设置?未安装的文件系统?)。
您是否将cron表用于可以从命令行成功运行命令的同一用户?
从命令行运行时的确切路径是什么? 请注意,在crontab中,您尝试调用php而不提供完整路径 - 这可能是罪魁祸首。