Cronjob startet ein Script nicht

  • Hallo,
    ich habe momentan Probleme ein Script in den Crontab erfolgreich einzutragen.
    Es will einfach beim Hochfahren nicht starten!
    crontab -e :

    Code
    1. @reboot sleep 60 && bash /home/pi/video-stream-screen.sh > /home/pi/test.txt 2>&1


    /home/pi/video-stream-screen.sh :

    Shell-Script
    1. #!/bin/bash
    2. screen -dmS VideoStream ./video-stream.sh
    3. echo "Video stream started"
    4. echo "To view the stream console output use the following command:"
    5. echo "screen -r VideoStream
    6. exit 0


    /home/pi/video-stream.sh :

    Shell-Script
    1. #!/bin/bash
    2. raspivid -t 0 -w 960 -h 540 -fps 25 -b 500000 -o - | ffmpeg -i - -vcodec copy -an -f flv -metadata streamName=myStream tcp://0.0.0.0:6666


    Beide Dateien sind mit chmod +x ausführbar gemacht worden.


    sudo grep CRON /var/log/syslog :

    Code
    1. May 30 12:48:18 camerapie cron[399]: (CRON) INFO (pidfile fd = 3)
    2. May 30 12:48:18 camerapie cron[399]: (CRON) INFO (Running @reboot jobs)
    3. May 30 12:48:18 camerapie CRON[506]: (pi) CMD (sleep 60 && bash /home/pi/video-stream-screen.sh > /home/pi/test.txt 2>&1)


    Wenn ich bash /home/pi/video-stream-screen.sh in der Konsole eingebe funktioniert alles so wie es soll.
    In der .txt Datei findet sich nach dem Start auch leider nichts.
    Ich könnte mir vorstellen das irgendwas mit der Berechtigung nicht stimmt, aber momentan weis ich nicht weiter.
    Vielen Dank im voraus :)

    A: Was ist dein dunkelstes Geheimnis?
    B: Das kann ich dir nicht sagen.
    A: sudo was ist dein dunkelstes Geheimnis?

  • Steht unter der Zeile aus /var/log/syslog die du gezeigt hast, noch was?


    Was soll das "sleep 60" in der Crontabzeile bezwecken? Hast du es auch schon mal ohne probiert?
    Hast du auch schon mal den absoluten Pfad von "bash" mit angegeben? Also: @reboot /bin/bash /home/pi/video-stream-screen.sh > /home/pi/test.txt 2>&1

  • Ich habe den Eintrag in Crontab nach dir angepasst:
    Und siehe da doch irgendwelche Fehlermeldungen in dem .txt Dokument :lol:
    Das ganze lässt sich auch auf der Konsole reproduzieren.

    Code
    1. Video stream started
    2. To view the stream console output use the following command:
    3. video-stream-screen.sh: Zeile 5: Dateiende beim Suchen nach `"' erreicht.
    4. video-stream-screen.sh: Zeile 7: Syntax Fehler: Unerwartetes Dateiende.


    Manchmal ist es einfach nur eine Kleinigkeit, ich könnte mich jetzt über mich selber ärgern :lol:
    Jetzt gibt es zwar keine Fehlermeldung mehr aber trotzdem startet das Script nicht.

    A: Was ist dein dunkelstes Geheimnis?
    B: Das kann ich dir nicht sagen.
    A: sudo was ist dein dunkelstes Geheimnis?

  • Hallo petit_meiner,


    in einem der beiden Skripte verwendest Du relative Pfade... Ersetze diese konsequent durch absolute Pfade.


    Auch gehst Du davon aus, dass der Pfad zu einem Linux-Kommando immer bekannt ist. Dies ist in der Regel beim Autostart nicht der Fall. Deswegen musst Du auch hier den Pfad zum Linux-Kommando angeben.



    Beste Grüße


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Ich habe jetzt im video-stream-screen.sh den absoluten Pfad zur video-stream.sh eingetragen.
    Trotzdem funktioniert es nicht.
    Es kann aber nicht sein das der Screen unter einem anderen Benutzer angelegt wird?
    Wie finde ich die absoluten Pfade zu Raspivid und ähnlichem heraus?
    Ich hatte nicht in Erinnerung das der Autostart so kompliziert ist :s

    A: Was ist dein dunkelstes Geheimnis?
    B: Das kann ich dir nicht sagen.
    A: sudo was ist dein dunkelstes Geheimnis?

    Einmal editiert, zuletzt von petit_miner ()

  • Code
    1. which raspivid

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.