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 に答える