Hi,
als Linuxneuling bräuchte ich ein paar Anregungen zu meinem derzeitigen Problem.
Ich habe unter /usr/src ein Skript namens stundenplan.sh welche eine .jar-Datei startet. Das Skript funktioniert, sofern man es von der Konsole direkt startet. Wird es allerdings über einen Cronjob gestartet funktioniert es nicht.
Das Skript sieht so aus:
Die zugehörige jar ist im selben Verzeichnis vorhanden.
Ich habe mir zwei Cronjobs definiert:
Der untere Cronjob läuft einwandfrei und schreib im Minutentakt "dude" in das test.txt File.
Der obere Job funktioniert nicht, wie man am syslog sieht:
Anregungen, Ideen, Lösungen?
Ich habe die Lösung doch noch selbst herausgefunden.
Das Problem war, dass der cronjob die jar-Datei nicht gefunden hat, weil der cronjob nicht, wie von mir angenommen, in /usr/src-Verzeichnis ausgeführt wird.
Entweder man definiert den Pfad als Variable im .sh-File oder man ändert den Job auf die dreckige Variante:
als Linuxneuling bräuchte ich ein paar Anregungen zu meinem derzeitigen Problem.
Ich habe unter /usr/src ein Skript namens stundenplan.sh welche eine .jar-Datei startet. Das Skript funktioniert, sofern man es von der Konsole direkt startet. Wird es allerdings über einen Cronjob gestartet funktioniert es nicht.
Das Skript sieht so aus:
#!/bin/sh
java -jar vorlesungsplaene.jar
Die zugehörige jar ist im selben Verzeichnis vorhanden.
Ich habe mir zwei Cronjobs definiert:
# m h dom mon dow command
30 * * * * /usr/src/stundenplan.sh
0-59 * * * * echo "dude" >> /tmp/test.txt
Der untere Cronjob läuft einwandfrei und schreib im Minutentakt "dude" in das test.txt File.
Der obere Job funktioniert nicht, wie man am syslog sieht:
Jul 18 15:29:01 vps47327 /USR/SBIN/CRON[16361]: (root) CMD (echo "dude" >> /tmp/test.txt)
Jul 18 15:30:01 vps47327 /USR/SBIN/CRON[16364]: (root) CMD (/usr/src/stundenplan.sh)
Jul 18 15:30:01 vps47327 /USR/SBIN/CRON[16365]: (root) CMD (echo "dude" >> /tmp/test.txt)
Jul 18 15:30:01 vps47327 /USR/SBIN/CRON[16363]: (CRON) error (grandchild #16364 failed with exit status 1)
Anregungen, Ideen, Lösungen?
Ergänzung ()
Ich habe die Lösung doch noch selbst herausgefunden.
Das Problem war, dass der cronjob die jar-Datei nicht gefunden hat, weil der cronjob nicht, wie von mir angenommen, in /usr/src-Verzeichnis ausgeführt wird.
Entweder man definiert den Pfad als Variable im .sh-File oder man ändert den Job auf die dreckige Variante:
30 * * * * cd /usr/src && ./stundenplan.sh