• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[solved] cronjob permission denied?

Cr4sh

Member
Ich habe bei mir zwei cronjobs erstellt unter root.

Doch ich bekomme immer eine Message ins Root Postfach das Permission Denied sein soll. Bloß warum ?

Er soll zwei ganz einfache Skripte ausführen einmal wo er was ladet und einmal wo er es später löscht. Starte ich die Skripte manuell geht es auch ohne Probleme.
 
A

Anonymous

Gast
Cr4sh schrieb:
Doch ich bekomme immer eine Message ins Root Postfach das Permission Denied sein soll. Bloß warum ?

Gute Frage, die sich jedoch ohne die entsprechenden Details kaum beantworten lässt.

Wie sehen denn die crontab, die Skripte und vor allem auch die Fehlermeldung im Wortlaut aus?

Greetz,

RM
 

regexer

Advanced Hacker
Rain_Maker schrieb:
Gute Frage, die sich jedoch ohne die entsprechenden Details kaum beantworten lässt.
Stimmt! Es gibt sicherlich mehrere Möglichkeiten.
- keine Execute-Rechte
- Hash-Bang-Zeile falsch
- ...
 
OP
C

Cr4sh

Member
DAs Problem waren die Rechte..das habe ich gelöst aber komischerweise sagt crontab "command not found", aber wenn ich es manuell starte geht es?
Hier mal der Code:

Code:
#!/bin/sh

#Umgebungsvaribalen
DOCUMENT_ROOT="/srv/www/htdocs"
LOG_DIR="/var/log/antivirusupdate"
DOWNLOAD_DIR="$DOCUMENT_ROOT/virusupdate-current"
DOWNLOAD_URL="http://speedownload.nai.com/products/commonupdater/"
#DOWNLOAD_URL="ftp://ftpde.nai.com/CommonUpdater/"
UPDATE_LOG="$LOG_DIR/nai-update-$(date +%Y%m%d-%H-%M).log"

# Download
date >> $UPDATE_LOG
echo "Starte NAT-Virusupdate" >> $UPDATE_LOG
wget -r -nH -P $DOWNLOAD_DIR $DOWNLOAD_URL 2>> $UPDATE_LOG

und im crontab steht z.b:

0 12 * * * root /skripte/antivirusupdate


und per per mail kommt die meldung:

/bin/sh: root: command not found


Wo liegt der Fehler?
 

admine

Ultimate Guru
Wenn du diesen Cron-Job schon unter root mit "crontab -e" erstellt hast, dann brauch in dem Cron-Job nicht der User root auftauchen:
Code:
0 12 * * *  /skripte/antivirusupdate
 
OP
C

Cr4sh

Member
ja hatte ich kurz vor deine post auch herausgefunden :)

War das Problem auch :)

Danke für die Hilfe :)
 

regexer

Advanced Hacker
Cr4sh schrieb:
und im crontab steht z.b:

0 12 * * * root /skripte/antivirusupdate


und per per mail kommt die meldung:

/bin/sh: root: command not found
In der Crontab steht ab Position 5 der auszuführende Befehl. In deinem Fall lese ich als Befehl "root", und den wird es wohl nicht geben...

EDIT: Sorry, da war wohl jemand schneller als ich ...

Aber noch ein Tipp: Die Shell, die durch die crontab erzeugt wird, hat nicht zwingend die PATH-Varialbe so wie der Benutzer nach der Anmeldung gefüllt. Da du aber in deinem Fall nur /bin/date und /usr/bin/wget verwendet, sollte es funktionieren. Ansonsten müsste man den absoluten Pfad zu diesen Befehlen angeben...
 
Oben