Hey =) Ich will grade einen Cronjob unter Linux Debian hinzufügen bzw hab ich einen hinzugefügt, der eigendlich einen Script jede minute ausführen soll... sieht so aus * /home/pi/Desktop/script.sh leider wird der script nicht ausgeführt... (Funktionieren tut der Skript) (hab es auch schon mit 0 * * versucht leider auch erfolg los...) mit contab -e hab ich den job hinzugefügt... naja vielleicht hat hier ja jemand ne idee bzw weiß was ich falsch mache. Viele Grüße
Jan L. schrieb: > naja vielleicht hat hier ja jemand ne idee bzw weiß was ich falsch > mache. viel zu wenig * http://www.adminschoice.com/crontab-quick-reference
öhm * command to be executed - - - - - | | | | | | | | | +----- day of week (0 - 6) (Sunday=0) | | | +------- month (1 - 12) | | +--------- day of month (1 - 31) | +----------- hour (0 - 23) +------------- min (0 - 59) ups wenn ich hier 5 * hintereinander mach fasst er das zu einem zusammen ... also ich hab 5 x *
Dein Skript ist als ausführbar markiert? (chmod +x) Ansonsten: Seh' mal in die logs
jap und wenn ich ihn einfach, zb so "/home/pi/Desktop/script.sh" ausführ geht er auch
Jan L. schrieb: > ups wenn ich hier 5 * hintereinander mach fasst er das zu einem zusammen > ... Ja, * ist in diesem Forum das Sonderzeichen für Fettdruck...
Für die Zukunft: in [code]-Blöcken wird das * nicht als Markierung für Fettschreiben interpretiert und angezeigt. Ansonsten mal ganz trivial: cron läuft auch? script ist ausführbar und verlässt sich nicht auf irgendeine Umgebung (z.b. ne andere Shell als cron nutzt)?
ahhh "cron läuft auch" ... muss man das etwa irgendwie "anschalten" ? das wäre natürlich eine erklärung XD ps.: ein restart von cronjob hats auch nicht gelöst
1 | # 19.01.2013 |
2 | |
3 | gpio -g mode 4 out # setzt GPIO 4 als output |
4 | |
5 | gpio -g write 4 1 |
6 | |
7 | sleep 30 |
8 | |
9 | gpio -g write 4 0 |
soll auf meinem raspberry pi eine led für 30 sek zum leuchte bringen also das macht der skript auch.
Jan L. schrieb: > ahhh "cron läuft auch" ... muss man das etwa irgendwie "anschalten" ? > das wäre natürlich eine erklärung XD haha, wie witzig Bei praktisch jedem Linux-System läuft cron eh, für updatedb u.ä. ps aux | grep cron Wie bereits gesagt, seh' mal in den Logs nach, ob cron überhaupt was tut.
also ich geh jetzt erst mal ins kino xD aber den befehl für die logs hatte ich auch schon mal gesehn das werd ich auf jeden fall mal testen
Fehlt da nicht der/die/das Shebang? Woher soll das System wissen womit das ausgeführt werden soll.
Ist gpio auch im Suchpfad, wenn es vom cron aus gestartet wird? Gib mal lieber den ganzen Pfad an...
tdd schrieb: > Fehlt da nicht der/die/das Shebang? Woher soll das System wissen womit > das ausgeführt werden soll. Ja. Das Skript muss anfangen mit z.B. #!/bin/sh sonst weiss Cron nicht, was es damit tun soll. Ebenso ist der Hinweis auf den Suchpfad gut. Im Zweifel lieber den absoluten Pfad angeben.
ahh ich dachte #!/bin/sh kommt nur an den Anfang damit der Benutzer weiß was los is, da es ja auskommeniert is. Aber das is natürlich ein versuch wert.
Nein, das ist ein Standard dort den Pfad anzugeben, damit das aufrufende Programm/Shell rausfinden kann welchem Interpreter die Datei zu übergeben ist. In python-Programmen würde z.b. oben #!/bin/env python oder so ähnlich stehen.
Ich würde einfach bei crontab -e die Ausgabe deines Skripts noch in eine Textdatei packen lassen: http://en.linuxreviews.org/Redirect_all_shell_output_to_a_single_file ...dann sollte er sämtliche Ausgaben deines Skripts in die angegebene Datei reinloggen.
so lösung gefunden... mit crontab -e komm ich irgendwie nicht in die richtige Datei. Wenn ich nämlich etc/crontab öffne steht da erstmal was ganz anderes drin... naja und wenn ich da meinen job hinzufüg funktioniert der auch
Jan L. schrieb: > etc/crontab öffne steht da erstmal was ganz anderes drin.. Soll es auch. Die /etc/crontab ist systemweit. Für benutzereigenen cronjobs gibt's crontab -e, was deine crontab in /var/spool/cron pflanzt.
Lukas K. schrieb: > Jan L. schrieb: >> etc/crontab öffne steht da erstmal was ganz anderes drin.. > > Soll es auch. Die /etc/crontab ist systemweit. Für benutzereigenen > cronjobs gibt's crontab -e, was deine crontab in /var/spool/cron > pflanzt. Als welcher User werden die benutzerspezifischen cronjobs ausgeführt? Vielleicht handelt es sich ja um ein Berechtigungsproblem.
Alexander F. schrieb: > Lukas K. schrieb: >> Jan L. schrieb: >>> etc/crontab öffne steht da erstmal was ganz anderes drin.. >> >> Soll es auch. Die /etc/crontab ist systemweit. Für benutzereigenen >> cronjobs gibt's crontab -e, was deine crontab in /var/spool/cron >> pflanzt. > > Als welcher User werden die benutzerspezifischen cronjobs ausgeführt? > Vielleicht handelt es sich ja um ein Berechtigungsproblem. Als der Benutzer, dem die entsprechende crontab gehört. Wenn ich als 'lukas' meine crontab mit crontab -e bearbeite, werden meine cronjobs auch als 'lukas' ausgeführt. Aber da wir ja immer noch keine logs von TO haben, können wir hier nur im trüben stochern.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.