2

使用 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)

这个问题的根源是什么?

提前致谢。

4

1 回答 1

2

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

于 2016-05-12T13:41:03.820 回答