Crontab jar file

  • Hallo,

    ich habe da mal eine Frage. Ich versuche mittels crontab auf meinem rpi alle 5 minuten eine jar file auszuführen (diese Updatet Daten in eine Datenbank). Folgende Zeile verwende ich:


    */5 * * * * root cd /Java && java -jar Skript.jar


    Leider funktioniert dies so nicht. Kann mir jemand da einen Tipp geben was ich das falsch mache?


    Vielen Dank!

  • .jar dateien führt man über das Terminal so aus:

    cd Ordner in der sich .jar file befindet

    sudo java -jar skript.jar


    Leider funktioniert es so wie du es geschrieben hast auch nicht

  • .jar dateien führt man über das Terminal so aus:

    Nein tut man nicht, das ist zwar ein Weg aber auch der umständlichste. So wie hyle es gesagt funktioniert es: Bitte poste deinen Befehl nach hyles schema

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.

  • Könnte (auch) sein, dass dein Java-Environment beim Ausführen per cron-job nicht richtig (oder gar nicht) gesetzt ist.


    Lass dir mal da, wo es funktioniert, dein Environment anzeigen.


    Der bessere Weg ist, das setzen des Ausführungspfades und des Environment + Programmaufruf in einem kleinen bash-Script zu machen und nur dieses bash-Script per cron-Job aufzurufen.

  • Hallo,

    danke für die Rückmeldungen. hyle, meinst du das so:?

    die Datei liegt im Home/pi/Java Verzeichnis:


    */5 * * * * root /usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/bin/jar /pi/Java/Skript.jar

  • Braucht die Datei root rechte? Wenn ja, nimm auch crontab von root

    Code
    sudo crontab -e

    und dort dann

    Code
    */5 * * * * /usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/bin/jar /pi/Java/Skript.jar

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.

  • Hi,

    kleine Anmerkung am Rande:

    die Datei liegt im Home/pi/Java Verzeichnis:

    also wenn schon, dann nicht


    /pi/Java/Skript.jar


    sondern


    /home/pi/Java/Skript.jar


    Ausserdem stellt sich mir die Frage, wie das File jetzt heisst ...

    Ist denn

    sudo java -jar skript.jar


    jetzt richtig oder


    cd /Java && java -jar Skript.jar


    Gross-/Kleinschreibung beachten!


    cu,

    -ds-

  • Sorry, mein Fehler! Ich hatte -jar übersehen.


    Der Pfad zu java sollte sich mit which java herausfinden lassen, aber evtl. ist das ja schon der Richtige. Falls nicht, bitte anpassen.


    Wenn Du wie oben den Eintrag in die systemweite Crontab machen willst mit sudo nano /etc/crontab, dann mit root im Cronjob:

    */5 * * * * root /usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/bin/jar -jar /home/pi/Java/Skript.jar


    falls Du die Crontab von root nutzen willst mit sudo crontab -e, dann ohne root im Cronjob:

    */5 * * * * /usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/bin/jar -jar /home/pi/Java/Skript.jar


    Ich hoffe ich habe nun an alles gedacht. :shy: