2016-12-08 2 views
0

Befehl "Java Temp" Drucken Hallo Welt. aber wenn ich versuche, diesen Befehl mit Crontab auszuführen, funktioniert es nicht.Java-Datei läuft nicht mit Crontab

Ich verwende diesen Befehl in crontab

*/2 * * * */usr/bin/java -cp/home/parth/javafile/temp

Ich habe auch versucht, diesen Befehl

*/2 * * * * root (cd /home/parth/javafile/temp.class; Java temp)

und

*/2 * * * * root/usr/bin/java -cp/home/parth/javafile/temp

Aber diese Befehle funktionieren auch nicht.

Ich habe auch versucht, Skriptdatei .sh zu erstellen und Java-Befehl in Skript einfügen und dann dieses Skript mit Crontab ausführen. aber das funktioniert auch nicht.

Ich denke, ich mache etwas falsch mit dem Befehl, aber ich bekomme nicht, was es genau ist.

+0

Wo sind Sie erwartet, dass "Hello World" angezeigt wird, wenn Cron es ausführt? –

Antwort

1

Das Problem ist, dass die Shell Ihres Benutzers den Befehl nicht ausführt. Der Benutzer, der den CRON-Job ausführt, führt den Befehl aus. In diesem Fall sehen Sie die Ausgabe nie auf Ihrem Terminal. Eine Möglichkeit ist, die Ausgabe in eine Datei zu umleiten, so etwas wie:

*/2 * * * * /usr/bin/java -cp /home/parth/javafile/ temp >> /path/to/log/file 2>&1 

Das Bit am Ende 2>&1 umleitet Standardfehler an der gleichen Stelle wie Standard-Out. Auf diese Weise werden Fehler auch in der Protokolldatei ausgegeben.

2 ist der Dateideskriptor für Standardfehler

> für die Ausgabe Umleitung

& wird das Symbol für Dateideskriptor ist

1 für Standard-Out der Dateideskriptor wird