Crontab als root ausführen

estre

Commander
Registriert
Dez. 2005
Beiträge
3.006
Moin zusammen,

ich habe einen Cronjob eingerichtet, der mir jeden Sonntag einen Server neustartet.
Der Befehl lautet:
Code:
0 0 * * 7 /sbin/reboot 1> /home/administrator/cronlogs/rebootlog 2>&1

Das Problem ist nun, dass der Reboot aufgrund fehlender root-Rechte nicht funktioniert. In der Logdatei steht folgendes:
reboot: Need to be root

Nun frage ich mich wie ich den Job richtig einrichten muss, sodass die Rechte passen. Ich nehme an, dass da irgendwo noch ein "su" reingehört?!

Könnt ihr mir da weiterhelfen?

Vielen Dank!

Grüße
 
Ich würde mal sagen du hast das in deine eigene crontab (nicht root) eingetragen?

Das gehört in die root-crontab.
 
Erstelle mal den Job mit:


oder

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file.
# This file also has a username field, that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root run-parts --report /etc/cron.hourly
59 23 * * * username /pfad/zu/skript.sh
 
Ltownwriter schrieb:
Erstelle mal den Job mit:

sudo crontab -e

Das funktioniert natürlich nur, wenn er auch Ubuntu, oder eine andere auf Debian basierte Distribution verwendet. Sonst muss er wahrscheinlich erst eine root-shell starten und dort "crontab -e" eingeben. Ansonsten Hilft auch google. Statt "Fedora" einfach die verwendete Distritbution einsetzen: googeln nach "crontab root Fedora".

@Ltownwriter
Ich bin mir nicht sicher, ob das mit dem username (in diesem fall root) in crontab funktioniert. Das würde ja bedeuten, dass jeder Nutzer Befehle als root ausführen kann. Und das darf eigentlich nicht sein.

@all
Im Fall von Ubuntu ist das wiki von ubuntuusers.de eine gute Quelle für hilfreiche Anleitungen. Hier z.B. die Seite zu Cron.
 
Zuletzt bearbeitet:
Ltownwriter schrieb:
Erstelle mal den Job mit:


dies war des Rätsels Lösung. Es funktioniert nun. Vielen Dank!

Eine kleine Frage habe ich noch: Ich hätte nun gerne, dass die Ausgaben in der Logdatei immer um die aktuellsten Einträge erweitert werden (append). Dies müsste doch an beiden stellen mit ">>" klappen oder ?! Also so:
Code:
0 0 * * 7 /sbin/reboot 1>> /home/administrator/cronlogs/rebootlog 2>>&1

Grüße
 
Zurück
Oben