【问题标题】:Script runned by crontab will no produce datacrontab 运行的脚本不会产生数据
【发布时间】:2016-05-12 13:30:17
【问题描述】:

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

这个问题的根源是什么?

提前致谢。

【问题讨论】:

    标签: php cron crontab cacti poller


    【解决方案1】:

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

    【讨论】:

    • 是的,我尝试像仙人掌一样运行轮询器,一切正常。我运行命令时的确切路径是/usr/local/cacti 我明白了,我需要参考 php bin 路径?
    猜你喜欢
    • 1970-01-01
    • 2011-03-21
    • 1970-01-01
    • 1970-01-01
    • 2020-10-19
    • 1970-01-01
    • 2015-10-05
    • 2017-12-16
    相关资源
    最近更新 更多