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