Stimmen die Rechte für crontab? Ich bin erst neulich selber drauf reingefallen, siehe hier: http://www.wl500g.info/showthread.php?t=17375. Ich glaube, es steht auch nicht explizit in Wengis HowTo, kann mich aber irren.
Gruß
Robert
Hallo,
ich habe folgende Zeile in der Crontab stehen:
Ursprünglich stand dort mal 00 00 * * * für Täglich um 0 Uhr... habe geradeCode:42 08 * * * admin "/opt/sbin/logrotate /opt/etc/logrotate.conf"
mal zum testen die Aktuelle Uhrzeit genommen....
Allerdings wird der Befehl nicht ausgeführt... Der Crondienst läuft und
in der cron.allow steht der User admin auch drin.
Im syslog finde ich nur den Hinweis auf Bearbeitung, aber keine Fehler....
Kann mir jemand einen Tipp geben?Code:Dec 15 08:35:01 /opt/sbin/cron[727]: (admin) RELOAD (crontabs/admin) Dec 15 08:40:38 crontab[1318]: (admin) BEGIN EDIT (admin) Dec 15 08:41:03 crontab[1318]: (admin) REPLACE (admin) Dec 15 08:41:03 crontab[1318]: (admin) END EDIT (admin) Dec 15 08:42:01 /opt/sbin/cron[727]: (admin) RELOAD (crontabs/admin)
(Startscript und rooter nach Wendi´s Howto....)
WL-500gp jetzt mit 1.9.2.7-d-r1000
Stimmen die Rechte für crontab? Ich bin erst neulich selber drauf reingefallen, siehe hier: http://www.wl500g.info/showthread.php?t=17375. Ich glaube, es steht auch nicht explizit in Wengis HowTo, kann mich aber irren.
Gruß
Robert
ISP: TV Cable 50/5 Mbit
Modem: Arris Touchstone TM822S
"NAS": 1000 GB 2.5" HDD, EXT4, (USB @ RT-AC87U)
Router: Asus RT-AC87U 380.68 (Merlin build), vsftpd, Samba3, NFS, Transmission, PyLoad...)
Clients: mittlerweile unzählige...
danke für den Tipp... aber die Rechte stimmen... ein anders Script wird auch ausgeführt...
habe den Fehler gefunden....
erstens gibt es Probleme wenn ich den Benutzer mit angebe unter dem das Script laufen soll...
ein
bringt folgenden Meldung im Syslog:Code:* * * * * admin date >> /tmp/date.txt
In der datei date.txt steht dann nichts drin....Code:Dec 15 10:57:01 /opt/sbin/cron[1856]: (admin) CMD (admin date >> /tmp/date.txt)
ein
geht problemlos....Code:* * * * * date >> /tmp/date.txt
zweitens sind die Anführungszeichen nicht nötig und behindern sogar die
Ausführung....
Diese Zeile funktioniert nun ohne Probleme
Code:50 10 * * * /opt/sbin/logrotate /opt/etc/logrotate.conf
WL-500gp jetzt mit 1.9.2.7-d-r1000
Hallo zusammen,
ich versuche seit gestern ein DynDNS-Skript über einen Cronjob laufen zu lassen. Leider wird dieses jedoch nicht ausgeführt.
In /opt/etc/crontab steht folgendes drin:
Die crontab ist mit den Rechten 600 versehen und am Ende der cronta ist eine Leerzeile mit Enter eingefügt.Code:SHELL=/bin/sh PATH=/sbin:/bin:/usr/sbin:/usr/bin:/opt/sbin:/opt/bin MAILTO="" HOME=/ # ---------- ---------- Default is Empty ---------- ---------- # 0 0 * * * admin /opt/sbin/logrotate -f /opt/etc/logrotate.conf &>/dev/null * * * * * admin /tmp/harddisk/dyndns/regfish_ipcheck2.sh
In /opt/var/log/syslog.log erscheint dann auch minütlich:
Allerdings wird das Shellskript nicht ausgeführt. Wenn ich es manuell über die Shell ausführe, funktioniert alles. Die Rechte für das Skript sind auf 744 gesetzt.Code:May 20 13:05:01 /opt/sbin/cron[260]: (admin) CMD (/tmp/harddisk/dyndns/regfish_ipcheck2.sh)
Kann mir jemand sagen, was ich falsch mache?
hast du ein "chmod +x /tmp/harddisk/dyndns/regfish_ipcheck2.sh" ausgeführt? (script ausfürbar machen)
p.s. der output der scripte/programme die über cron ausgeführt werden, wird an den user gemailt (falls mailto: gesetzt ist.) oder geht verloren. wenn du den output irgenwohin schreiben willst, musst du in der crontab ">> targetfile" an das commando anhängen, oder im script diese ausgaben selber in die gewünschten files schreiben.
(falls du das script für eine dyndns-aktualisierung brauchts, kannst du dir auch mal inadyn anschauen, das gibt über ipkg und dyndns kann dafür config-files produzieren)
Last edited by bef; 20-05-2010 at 12:58.
Danke für deine Ratschläge. Ich habe die Datei nochmal mit chmod bearbeitet, auch wenn die Rechte eigentlich schon vergeben waren.
Leider bringt weder dies, noch der Tipp mit dem Weiterleiten der Ausgabe den gewünschten Erfolg.
Hat jemand noch eine andere Idee?
Also laut Cron-Syslog-Eintrag wird dein Script ausgeführt. Wie sieht das Script aus? Ausführbar ist es, hast du ja überprüft. Ist es eventuell was ganz blödes, wie #!/bin/bash in der ersten Zeile fehlt, oder was weiß ich... Kannst du in das Script ein 'echo' einbauen, das etwas ins Syslog schreibt oder einen Befehl, der eine Dummy-Datei unter /tmp anlegt, oder noch etwas, so dass du sicher sein kannst, dass das Script ausgeführt wurde?
Gruß
Robert
ISP: TV Cable 50/5 Mbit
Modem: Arris Touchstone TM822S
"NAS": 1000 GB 2.5" HDD, EXT4, (USB @ RT-AC87U)
Router: Asus RT-AC87U 380.68 (Merlin build), vsftpd, Samba3, NFS, Transmission, PyLoad...)
Clients: mittlerweile unzählige...
Hab das Problem jetzt endlich gefunden. Das Problem lag definitiv im Shellskript. Das Problem war, dass im Skript ein wget-Aufruf vorkommt, aber die Umgebungsvariablen zwischen dem Cronjob und der Usershell unterschiedlich sind. D.h. das Skript funktioniert manuell vom User ausgehend, aber nicht über den Cron-Service. Absolute Pfadangabe für wget hat die Lösung gebracht.