Crontab Permission Denied

Ich habe problem mit crontab, wenn ich ein Skript ausgeführt wird.

Meine sudo crontab -e sieht wie folgt aus:

05 00 * * * /opt/mcserver/backup.sh
10 00 * * * /opt/mcserver/suspend.sh
05 08 * * * /sbin/shutdown -r +1
11 11 * * * /opt/mcserver/start.sh  <--- This isn't working

Und die start.sh sieht wie folgt aus:

#!/bin/sh
screen java -d64 -Xincgc -Xmx2048M -jar craftbukkit.jar nogui

haben und diese Zugriffsrechte (ls -l Ausgabe)

-rwxr-xr-x 1 eve eve  72 Nov 24 14:17 start.sh

Kann ich den Befehl ausführen aus dem terminal, entweder mit sudo oder nicht

./start.sh

Aber es wird nicht start mit crontab.
Wenn ich

grep -iR "start.sh" /var/log

Bekomme ich die folgende Ausgabe

/var/log/syslog:Nov 27 11:11:01 eve-desk CRON[5204]: (root) CMD (eve /opt/mcserver/start.sh)
grep: /var/log/btmp: Permission denied
grep: /var/log/lightdm/x-0-greeter.log: Permission denied
grep: /var/log/lightdm/lightdm.log: Permission denied
grep: /var/log/lightdm/x-0.log: Permission denied

Also meine Frage ist, warum funktioniert das nicht?
Und da mein Skript ausführen, ohne die Verwendung von sudo, brauche ich nicht unbedingt, um es in die sudo crontab?

( und ich bin mit Ubuntu 12.10 )

Vielen Dank im Voraus,
Philip


Antwort auf twalberg Antwort

1. Besitzer geändert auf craftbukkit zu root, um zu sehen, wenn das problem behoben.

-rw-r--r-- 1 root root 12084211 Nov 21 02:14 craftbukkit.jar

und fügte auch eine explizite cd in mein start.sh Skript:

#!/bin/sh
cd /opt/mcserver/
screen java -d64 -Xincgc -Xmx2048M -jar craftbukkit.jar nogui

2. Ich bin mir nicht ganz sicher, was Sie hier bedeuten. Sollte ich den folgenden Pfad verwenden, in meinem start.sh Datei, wenn ich start java?
(Ausgang, von dem java)

/usr/bin/java

3. Wenn mein server geschlossen, Bildschirm ist beendet. Ist es eine gute Idee zu start screen im "detached mode" eh?

Immer noch die gleichen Fehler "Zugriff verweigert".


Problem gelöst!
Mit der richtigen Flagge auf dem Bildschirm, wie unten, es funktioniert jetzt wie es soll!

screen -d -m java -d64 -Xincgc -Xmx2048M -jar craftbukkit.jar nogui

Vielen Dank an diejenigen, die geantwortet haben, und vor allem twalberg!

Auf #2 - mit /usr/bin/java sollten fein sein, das ist die, die Sie normalerweise verwenden (einfach durch Eingabe java) - ich wusste nicht sicher, ob Sie einen anderen Standort, also ich habe nicht vor, eine bestimmte Pfad. Für #3, ich habe nie versucht, ab screen ohne ein kontrollierendes terminal zur Verfügung, also habe ich vorgeschlagen, die Möglichkeit - nicht sicher, ob es notwendig ist, aber einen Versuch Wert. Und die "Permission denied" kommt aus grep nicht in der Lage zu Lesen diese Dateien nicht von Ihrem cron Auftrag nicht in irgendeiner Weise. Ist cron e-Mail-Versand jeder Ausgabe aus dem Skript?
Ich (blöderweise) nicht eingerichtet croncab senden Sie mir eine e-mail. Aber jetzt wenn ich es Tat, bekam ich diese: Muss angeschlossen werden an ein terminal. Also ich denke, die problew zu tun hat mit dem Bildschirm?
Und jetzt funktioniert es! Das problem hatte damit zu tun, nicht mit screen -d -m in meinem Skript!

InformationsquelleAutor Philip Larson | 2012-11-27

Schreibe einen Kommentar