PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : "Command not found" nach Cronjob



el_don
07.10.08, 09:29
Guten Tag zusammen,

ich habe hier ein für Euch wahrscheinlich simples Thema an dem ich aber fast verzweifele:

Ich möchte dass jeden Morgen um 7 Uhr über die crontab ein Skript ausgeführt wird.
Dazu habe ich folgendes gemacht:
Als root mit dem Befehl crontab -e einen cronjob erstellt der da lautet



#
SHELL=/bin/bash
PATH=/usr/bin:/usr/sbin:/sbin:/bin

# min std Tag Monat Wochentag User Befehl
* 7 * * * root /usr/bin/init_vpn.sh


Cron startet den Befehl auch brav jeden Morgen, bricht aber immer ab mit
/bin/bash: root: command not found
Wobei das Skript init_vpn.sh keinen Fehler beinhalten sollte, da ich es ohne Probleme händisch laufen lassen kann.
Habe ich Tomaten auf den Augen oder warum funktioniert das nicht über die crontab?

chown von init_vpn.sh ist root.root und chmod ist 700

Achso...Distri ist OpenSuSE 11.0 falls das wichtig ist.

muell200
07.10.08, 09:38
#
SHELL=/bin/bash
PATH=/usr/bin:/usr/sbin:/sbin:/bin

# min std Tag Monat Wochentag User Befehl
* 7 * * * root /usr/bin/init_vpn.sh



hallo

dein cron eintrag ist falsch!

loesche "root"
dann sollte es gehen



* 7 * * * /usr/bin/init_vpn.sh

marce
07.10.08, 09:39
Die Syntax von Dir gehört in die /etc/crontab - die man nicht verwenden sollte.

Bei crontab -e wird automatisch die Crontab des angemeldeten Users genommen - von daher muß / darf darin keine Userangabe mehr enthalten sein, da diese ja schon bekannt ist und anderweitig verwaltet wird.

el_don
07.10.08, 11:02
Jau....Bingo. Das war es. Jetzt wo Ihr es sagt sehe ich es auch. Also doch Tomaten auf den Augen :ugly:. Funktioniert jetzt auf jeden Fall. Danke nochmal.

L00NIX
10.10.08, 10:28
Die Syntax von Dir gehört in die /etc/crontab - die man nicht verwenden sollte.


Was sollte man nicht verwenden, die Syntax oder /etc/crontab?

Ich halte es eher so, die crontab des Benutzers root nicht zu verwenden und alles in /etc/crontab zu schreiben. Das ist übersichtlicher, da man alle Jobs auf einen Blick sieht.

Was man in der Tat nicht verwenden sollte ist das Verzeichnis /etc/cron.d denn hier legen Pakete ggf. crontab Schnipsel mit dem Namen des installierten Programmes rein.

Gruß
L00NIX