crontab -e wird nicht komplett ausgeführt

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo zusammen,

    bei mir übernimmt der Raspi einige Aufgaben (regelmäßiger Test der Internetgeschwindigkeit, Pi-Hole und Funksteckdosensteuerung) und einiges lasse ich per crontab starten, ein paar Sachen machen aber auch Probleme. Hier mal ein aktueller crontab mit Kommentaren

    @weekly /usr/local/bin/gravity.sh #Skript für Pi-Hole (geht)
    0 * * * * /home/pi/speedtest-cron.sh #Skript für Speedtest (geht)
    57 23 * * * /home/pi/raspberry-remote/./send 11101 3 1 #Schaltbefehl Funksteckdose ein (geht nicht)
    58 23 * * * /home/pi/raspberry-remote/./send 11101 3 0 #Schaltbefehl Funksteckdose aus (geht nicht)

    0 13 * * * shutdown -r now #Pi Neustart wg. wenig RAM im Pi 1 (geht nicht)
    0 14 * * * reboot #Pi Neustart wg. wenig RAM im Pi 1 (geht nicht)
    @midnight shutdown -r now #Pi Neustart wg. wenig RAM im Pi 1 (geht nicht)

    ## pi-remote start noch reboot ##
    @reboot /home/pi/raspberry-remote/daemon & #daemon für Funksteckdose nach reboot (geht)
    0 * * * * /home/pi/raspberry-remote/daemon_restart.sh #Skript ob deamon noch läuft (kann icht sagen)
    0 * * * * /home/pi/raspberry-remote/daemon.sh #Skript ob deamon noch läuft (ka


    Den crontab rufe ich ganz normal mit sudo crontab -e auf damit die Befehle auch als su aufgeführt werde.

    Kann mir da jemand weiterhelfen?

    Danke und Grüße
    Bob

    P.S. Als Image habe ich Jessie lite laufen


  • 57 23 * * * /home/pi/raspberry-remote/./send 11101 3 1 #Schaltbefehl Funksteckdose ein (geht nicht)
    58 23 * * * /home/pi/raspberry-remote/./send 11101 3 0 #Schaltbefehl Funksteckdose aus (geht nicht)

    der Punkt-Slash ist eigendlich nicht erforderlich, lass den mal weg.
    send ist doch sicherlich ein Script, sind da überall vollständige Pfade drin, ist es ausführbar (-x Rechte)?


    0 13 * * * shutdown -r now #Pi Neustart wg. wenig RAM im Pi 1 (geht nicht)
    0 14 * * * reboot #Pi Neustart wg. wenig RAM im Pi 1 (geht nicht)
    @midnight shutdown -r now #Pi Neustart wg. wenig RAM im Pi 1 (geht nicht)

    Du fährst als jeden Tag den RaPi um 13 Uhr per cron runter? Kann man machen... :s
    Du rebootest per cron jeden Tag den RasPi um 14 Uhr? Kann man machen... :s

    Gib mal die vollen Pfade der Befehle an, also

    Code
    /sbin/shutdown

    bzw.

    Code
    /sbin/reboot


    Den crontab rufe ich ganz normal mit sudo crontab -e auf damit die Befehle auch als su aufgeführt werde.

    EDIT::: (die folgenden (durchgestrichenen) Aussagen sind falsch!!)
    Das ist egal, cron-jobs laufen grundsätzlich als root...
    Dein Kommando sagt lediglich, dass die cron-Kommandoliste für den User root angelegt wird.
    Lässt du das sudo weg, wird sie für den User "pi" (oder als was auch immer du da unterwegs bist) angelegt, aber dennoch als root mit root-Rechten ausgeführt.

    Code
    man cron

    das Zen

  • Das ist egal, cron-jobs laufen grundsätzlich als root...
    Dein Kommando sagt lediglich, dass die cron-Kommandoliste für den User root angelegt wird.
    Lässt du das sudo weg, wird sie für den User "pi" (oder als was auch immer du da unterwegs bist) angelegt, aber dennoch als root mit root-Rechten ausgeführt.


    Nein.
    Cronjobs werden im Kontext des Benutzers ausgeführt, dem die Crontab gehört. Legt User "pi" einen cronjob mittels "crontab -e" an, wird die enthaltenen Befehle auch als User "pi" ausgeführt. Genau dafür gibt es die user-crontabs.


    Test (als User "pi"):

    Code
    crontab -e
    
    
    0 * * * * /usr/bin/id >/tmp/crontest.txt

    Der cron-Prozess selbst läuft natürlich mit root-Rechten.

    Wenn du nichts zu sagen hast, sag einfach nichts.

  • @ llutz : Er nutzt aber "sudo crontab -e" und bearbeitet somit die Crontab des root Benutzers.


    Lässt du das sudo weg, wird sie für den User "pi" (oder als was auch immer du da unterwegs bist) angelegt, aber dennoch als root mit root-Rechten ausgeführt.

    Das ist aber wirklich falsch ;)


  • @ llutz : Er nutzt aber "sudo crontab -e" und bearbeitet somit die Crontab des root Benutzers.


    Das ist aber wirklich falsch ;)

    Ok, :danke_ATDE:

    Ich bin seit Jahren unter Linux unterwegs (meist als root)... hab ich echt übersehen/falsch verstanden.... :wallbash:

    *heul*

    (habe meinen Schrieb korrigiert...)

    das Zen


  • @ llutz : Er nutzt aber "sudo crontab -e" und bearbeitet somit die Crontab des root Benutzers.


    ja sicher, die angelegte crontab gehört dann root.
    Mein Einwand bezog sich auch mehr auf:


    Lässt du das sudo weg, wird sie für den User "pi" (oder als was auch immer du da unterwegs bist) angelegt, aber dennoch als root mit root-Rechten ausgeführt.


    Automatisch zusammengefügt:


    Ich bin seit Jahren unter Linux unterwegs (meist als root)... hab ich echt übersehen/falsch verstanden.... :wallbash:


    Das "meist als root" solltest du dann aber mal überdenken.
    "Das tut man nicht!" ;)

    Wenn du nichts zu sagen hast, sag einfach nichts.

    Einmal editiert, zuletzt von llutz (16. März 2016 um 13:22)


  • Das "meist als root" solltest du dann aber mal überdenken.
    "Das tut man nicht!" ;)

    [OT]
    :D Serverfarmen lassen sich nun mal nicht als "maxMueller" installieren... und wenn man dann auf Fehlersuche im Kernel bzw. in den Systemtiefen ist, helfen begrenzte Zugriffsrecht echt nicht.

    "Das tut man nicht" (arbeiten als root) ist prinzipiell richtig, im Speziellen aber nicht hilfreich....
    (Arbeiten unter Spannung tut man auch nicht - es gibt aber Leute, die genau das tun (müssen))
    [/OT]

    das Zen

  • So jetzt kurze Zwischenmeldung von mir. Die Zeitsteuerung der Funksteckdosen hab ich jetzt hinbekommen. Das Problem (ist mir äußerst peinlich) war die falsch eingestellt Zeitzone am Pi, die hinkte eine Stunde nach.
    Der Reboot klappt jetzt dank der Angabe des vollen Pfads auch.

    Damit klappt jetzt eigentlich alles wie gewünscht.

    Danke euch dafür

  • Man muss differenzieren zwischen einer normalen RAM Auslastung, die aufgrund vieler speicherhungriger Programme/Tasks hoch sein kann und ggf. in ein swappen/pagen in den Swap-Speicher führen und einem langsam volllaufenden RAM, der aufgrund von Programmen/Tasks auftritt, die ihre Speicherverwaltung nicht im Griff haben und aufgrund von Programmierfehlern immer mehr Speicher allokieren, den nicht mehr benötigten aber nicht mehr freigeben.

    Linix hat eine sehr gute (RAM-)Speicherverwaltung, ein voller Speicher ist oft auch dann der Fall, wenn freier Speicher als Schreib/Lesepuffer für Filezugriffe verwendet wird. Das ist normal und performancesteigernd, dieser temporär allokierte Speicher wird umgehend frei gegeben, wenn ein Programm/Task Speicher anfordert.

    Ständiges Neustarten eines Linux-Systems ist eine typische Windows-User-Marotte in Unkenntnis dieser Zusammenhänge.

    Was für "viele Sachen" hat denn dein RasPi zu tun, dass er so schnell an seine Grenze kommt? Der RPi 1 hat nur 256MB Speicher (soweit ich mich erinnern kann) - vielleicht ist er auch einfach nur das falsche System für die Aufgaben, die ihm aufgebürdet werden. :D

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!