Raspberry mit crontab ausschalten

  • Hallo Zusammen,


    ich habe mit einem Script und feh eine beim Start unendlich laufende Bildershow eingerichtet und die läuft und funktioniert einwandfrei. Jetzt habe ich folgende Wünsche die ich nicht hinbekomme vllt bin ich auch zu doof dafür.


    1. Jeden Tag den Raspberry runterfahren um 23:30

    2. Nach dem Runterfahren ausschalten

    3. Jeden Tag um 09:00 starten.


    Ich fange mal von hinten an:


    zu 3.

    Hab nix dazu im Netz gefunden, deshalb benutze ich als Hardware Workaround eine stupide Zeitschaltuhr. Die im übrigen auch das Runterfahren erledigt - also einfach den Saft abdreht. Ich weiss: Nicht gut.


    zu 2.

    Auch dazu heisst es im netz: Geht nicht. Allerdings hab ich im Netz folgendes gefunden:

    shutdown -P " Instructs the system to shut down and then power down."

    Was fange ich damit an.


    zu 1.

    Jetzt zum Hauptproblem.

    ich habe via

    crontab -e

    folgendes angelegt

    30 23 * * * shutdown -h 0

    und das funktioniert nicht.


    Der Cronjob wird aufgerufen , bricht aber mit der Meldung im Traceprotokoll

    " no MTA installed....." ab. Und ich finds nicht raus warum....:/:cursing:=O||;(


    Gebe ich manuell im Terminal

    shutdown -h 0

    ein, fährt der Raspi ganz normal und sofort runter.



    Ach so System Konfig:

    Raspberry 4B

    Debian Buster with Desktop

  • Danke Hyle.


    Ich habs grad anders hinbekommen - geht auch OHNE sudo crontab -e


    1. Schritt : crontab -e


    2. Schritt und da lag das Problem: 30 23 * * * sudo systemctl poweroff


    Wusste nicht, dass es bei Raspian Buster nur mit systemctl geht , warum auch immer

    Edited 3 times, last by WildBonus58443 ().

  • 1. Schritt : crontab -e


    2. Schritt und lag das Problem: 30 23 * * * sudo systemctl poweroff

    Ist das eine user crontab? D. h. keine von root? ... weil Du sudo benutzt.

    In einer root crontab musst Du nicht sudo benutzen.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

  • Der Cronjob wird aufgerufen , bricht aber mit der Meldung im Traceprotokoll

    " no MTA installed....." ab. Und ich finds nicht raus warum....

    Weil auf diesem Rechner für den User, unter dessen rechten die Crontab ausgeführt werden soll, kein MTA (Mail Transfer Agent) eingerichtet ist.

    Die Cron möchte eine Mail loswerden, und das funktioniert nicht.


    (Zum Thema 'cron' der immer wieder Missachtete Hinweis:

    In Crontab-Einträgen immer mit dem kompletten Pfad für alle Datei-Aufrufe arbeiten.

    Beo per Cron gestarteten Scripte entweder den kompletten Pfad verwenden oder in dem Script die PATH-Variable mit den für die in diesem Script verwendeten Programm notwendigen Pfaden eintragen)

    Computer ..... grrrrrr

  • rpi444 :

    ohne sudo geht's nicht (ausprobiert)

    Crontab -e geht noch ohne sudo , aber im Tab geht's nur mit - warum auch immer


    Rasp-Berlin :

    Weiss ich schon, dass er mit MTA eigentlich emails versenden will. Will ICH aber gar nicht, hab ich auch nirgends angegeben.
    Vermute, dass es eine Art Syntax Error Fehlermeldung sein soll. Unlogisch? Ja, ist es , versteh ich auch nicht.

  • Weiss ich schon, dass er mit MTA eigentlich emails versenden will. Will ICH aber gar nicht, hab ich auch nirgends angegeben.

    Es ist aber Standardverhalten von cron, sämtliche Ausgaben eines Jobs per Mail an den Besitzer zu schicken.

    Abhilfe: MAILTO='' setzen (leeres MAILTO) oder eben alle Ausgaben gen /dev/null umzulenken.

    Wenn du nichts zu sagen hast, sag einfach nichts.

  • llutz :

    Danke für den Hinweis. Verstanden.

    Dan ist cron urspr. zum Mailversand gedacht und ich/man missbraucht es zur Zeitsteuerung ?


    Aber die Abhilfe ist nicht nötig - es tut ja jetzt so. Und ohne Fehlermeldung im Syslog

  • rpi444 :

    ohne sudo geht's nicht (ausprobiert)

    Crontab -e geht noch ohne sudo , aber im Tab geht's nur mit - warum auch immer

    Dann kannst Du eine crontab für root erstellen oder die systemweite crontab mit root (Syntax) benutzen.


    BTW: Was meinst Du mit "im Tab geht's"?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

  • rpi444:


    Tab = crontab

    Ich mein da wo ich die 30 23 * * * eintrage.

    Sorry , wenns der falsche Begriff war.

  • Quote

    Dan ist cron urspr. zum Mailversand gedacht und ich/man missbraucht es zur Zeitsteuerung ?

    Nein, es ist schon für die zeitgesteuerte Ausführung von Jobs gedacht. Aber sollten die Jobs Ausgaben erzeugen (Fehler, Warnungen oder auch gewollt) , müssen diese dem User ja irgendwie mitgeteilt werden. Da bot sich mail an.

    Wenn du nichts zu sagen hast, sag einfach nichts.

  • rpi444:


    Tab = crontab

    Naja, was hat das Erstellen einer usereigenen (nicht für root) crontab:

    Quote


    Crontab -e geht noch ohne sudo , ...

    mit einem Eintrag, der nur von root ausgeführt werden kann, in dieser erstellten crontab zu tun?


    BTW: "crontab -e" und nicht "Crontab -e", denn:

    Code
    :~$ type Crontab
    bash: type: Crontab: Nicht gefunden.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    • Official Post

    Im Grund hatte ich schon alles in #2 geschrieben, vom Mail mal abgesehen. In dieser Mail stünde vermutlich "permission denied" o.ä.


    sudo in einer Usercrontab ist ein nogo. Dafür gibt es die Crontab von root oder die Systemweite Crontab.


    Zu sudo lies auch mal das hier: https://wiki.ubuntuusers.de/sudo/

    bzw. zu Crontabs das hier: https://wiki.ubuntuusers.de/Cron/