nathan6 schrieb:
Hier mein Crontab.
| 33 20 * * * root [mark]/bin/bash[/mark] /usr/bin/copy.sh > /root/log.log
|
Und hier mein Script:
#!/bin/sh
Hallo!
Warum führt der crontab das script nicht als root aus ?
Als wer führt er es denn aus, wenn nicht als root?
Frage: bash oder sh? Theoretisch kannst du in deinem crontab ja dann auch eine /bin/sh aufrufen, anstatt eine /bin/bash. Dann fehlt mir da fürs Verständnis das -c, also
33 20 * * * root /bin/bash -c'/usr/bin/copy.sh > /root/log.log'
Kann aber auch nicht beschwören, dass es da rein muss, oder besser gesagt was die "schönere Lösung" wäre, ich würde nur zukunftsorientiert versuchen eine zueinander passende Lösung zu schreiben, um Fehlerquellen zu vermeiden.
Anstatt sudo service...
würde ich auch ein systemctl restart...
verwenden, wobei aktuell beides das gleiche macht, in zukünftigen Versionen aber ggf. der service-Befehl wegfallen könnte. Ein sudo ist wie bereits erwähnt natürlich unnötig bei der Ausführung als root.
Dann könntest du noch den absoluten Pfad für cp angeben, also /bin/cp .... Da würde ich am ehesten den Fehler vermuten in einem sh-Script.