2016-05-12 11 views
2

Mit Cacti, ich versuche, den folgenden Befehl auszuführen:Script runned von crontab werden keine Produkte Daten

php poller.php> test.cfg

Wie erwartet ich die folgende Ausgabe erhalten:

[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 

Und meine manipuliert hat aktualisiert.


nun die crontab verwenden, habe ich die folgenden:

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

Aber wenn ich in der /home/cacti/test.cfg nach cron Ausführung gehen, ich habe nichts, aber die cron runned Das Skript:

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) 

Was ist die Ursache für dieses Problem?

Vielen Dank im Voraus.

Antwort

2

Ihr Cron-Protokolleintrag besagt nur, dass der Befehl ausprobiert wurde. Es garantiert nicht, dass der Befehl erfolgreich gestartet wurde (Berechtigungsprobleme? Umgebungsvariablen nicht gesetzt? Unmounted Dateisystem?).
Verwenden Sie die Cron-Tabelle für denselben Benutzer, der den Befehl erfolgreich über die Befehlszeile ausführen kann?
Was sind die genauen Pfade, wenn Sie von der Befehlszeile aus laufen?
Beachten Sie, dass Sie in crontab versuchen, php aufzurufen, ohne seinen vollständigen Pfad anzugeben - das kann der Täter sein.

+0

Ja, ich habe versucht, als Kakteen den Poller zu laufen, und alles hat gut funktioniert. Der genaue Pfad, wenn ich den Befehl ausführe, ist '/ usr/local/cacti' Ich sehe, ich muss den php bin Weg beziehen? –