2016-05-12 9 views
2

Используя кактусы, я пытаюсь выполнить следующую команду:Сценарий запущенной с помощью кронтаб будет не производят данные

PHP poller.php> test.cfg

Как и ожидалось, я получаю следующий результат:

[email protected]:[/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 

И моя манипуляция обновилась.


Теперь с помощью кронтаба, я сделал следующее:

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

Но когда я иду в /home/cacti/test.cfg после выполнения хрон, я ничего не получил, но хроны запущенные сценарий:

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) 

В чем причина этой проблемы?

Заранее спасибо.

ответ

2

Ваша запись в журнале cron сообщает только, что команда была проверена. Это не гарантирует, что команда была успешно запущена (проблемы с разрешениями? Переменные среды unset? Unmounted filesystem?).
Вы используете таблицу cron для того же пользователя, который может успешно выполнить команду из командной строки?
Каковы точные пути при запуске из командной строки?
Обратите внимание, что в crontab вы пытаетесь вызвать php, не указывая полный путь - это может быть преступником.

+0

Да, я пробовал кактусы, чтобы запустить poller, и все сработало нормально. Точный путь, когда я запускаю команду, это '/ usr/local/cacti' Я вижу, мне нужно передать путь php bin? –