Shellscript per CronJob funktioniert nicht
Guten Tag ,
zurzeit stehe ich vor einem Scripting Problem.
Das Problem besteht darin, dass ich ein Script via crontab ausführen möchte, das Script allerdings nur halb ausgeführt wird.
Das Skript läuft auf einem Raspberrypi2 mit dem aktuellen Jessie Betriebssystem. (Debian Partition)
Das Skript sieht wie folgt aus:
Wenn ich das Script über die Shell ausführe funktionieren alle Befehle.
Als Cronjob werden nur die beiden remove Befehle ausgeführt.
Nach einiger Online Recherche wurde ich darauf hingewiesen den PATH einzutragen um die Datei via Cronjob ausführen zu können.
Dieser Ansatz war allerdings ohne Erfolg.
Gruß
Bitcon
zurzeit stehe ich vor einem Scripting Problem.
Das Problem besteht darin, dass ich ein Script via crontab ausführen möchte, das Script allerdings nur halb ausgeführt wird.
Das Skript läuft auf einem Raspberrypi2 mit dem aktuellen Jessie Betriebssystem. (Debian Partition)
Das Skript sieht wie folgt aus:
!/bin/bash
PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
if [ -e /var/mail/root ]; then
sudo rm /var/www/html/password.txt
sleep 15
sudo cat var/mail/root | sed -rne 's/.*password for Gäste: (.{10}).*/\1/ip' >/var/www/html/password.txt
sleep 15
sudo rm /var/mail/root
fi
Wenn ich das Script über die Shell ausführe funktionieren alle Befehle.
Als Cronjob werden nur die beiden remove Befehle ausgeführt.
Nach einiger Online Recherche wurde ich darauf hingewiesen den PATH einzutragen um die Datei via Cronjob ausführen zu können.
Dieser Ansatz war allerdings ohne Erfolg.
Gruß
Bitcon
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 313545
Url: https://administrator.de/forum/shellscript-per-cronjob-funktioniert-nicht-313545.html
Ausgedruckt am: 20.04.2025 um 17:04 Uhr
12 Kommentare
Neuester Kommentar
Moin,
Was bezwckst du mit?
Maildatei ausführen? schlechte Idee
und da fehlt bei var/mail/root ein /, oder ist das nur ein Tippfehler oder fehlt da ein cat?
würde ich umschreiben zu
Bezweifle ich.
lks
PS. Als welcher user führst Du das Skript überhaupt aus? Wenn Du das als normaler User ausführst und sudo im cronjob aufrufst, hast Du niemanden, der Dein Paßwort eintippt.
Was bezwckst du mit
sudo var/mail/root
Maildatei ausführen? schlechte Idee
und da fehlt bei var/mail/root ein /, oder ist das nur ein Tippfehler oder fehlt da ein cat?
sudo var/mail/root | sed -rne 's/.*password for Gäste: (.{10}).*/\1/ip' >/var/www/html/password.txt
würde ich umschreiben zu
sudo sed /var/mail/root -rne 's/.*password for Gäste: (.{10}).*/\1/ip' >/var/www/html/password.txt
Wenn ich das Script über die Shell ausführe funktionieren alle Befehle.
Bezweifle ich.
lks
PS. Als welcher user führst Du das Skript überhaupt aus? Wenn Du das als normaler User ausführst und sudo im cronjob aufrufst, hast Du niemanden, der Dein Paßwort eintippt.
Als welcher User schreibst du das ganz denn in die Crontab? wie gesagt. Nimm alle sudos raus udn schau, ob es dann trotzdem funkltioniert.
lks
falscher User. Du mußt schon roo tnehmen, wenn Du root-rechte brauchst.
wenn ich alle sudos weglasse funktioniert nichts mehr.
wie zu erwarten. Du solltest den cronjob für root eintragen.
Die Crontabs habe ich über den pi user angelegt.
Genau das ist der Fehler.
lks
Zitat von @Bitcon:
Ich hab jetzt versucht die Befehle einzelt einzugeben dabei ist die Meldung cat: /var/mail/root Datei oder Verzeinis nicht gefundne obwohl ich als root angemeldet bin und eine Datei erstellt ist
Ich hab jetzt versucht die Befehle einzelt einzugeben dabei ist die Meldung cat: /var/mail/root Datei oder Verzeinis nicht gefundne obwohl ich als root angemeldet bin und eine Datei erstellt ist
cat: gibt es auch nciht.
lks