Hallo zusammen,
ich versuche eine Shell Datei (.sh) die ich in der Shell getestet habe (./datei.sh) in einen Crontab zu schreiben, und zwar so:
0 8 * * * sudo /home/pi/datei.sh
#
Das tut es dann aber nicht... was ist an der Syntax falsch?
LG, Dio
Hallo zusammen,
ich versuche eine Shell Datei (.sh) die ich in der Shell getestet habe (./datei.sh) in einen Crontab zu schreiben, und zwar so:
0 8 * * * sudo /home/pi/datei.sh
#
Das tut es dann aber nicht... was ist an der Syntax falsch?
LG, Dio
Datei.sh in Crontab? Schau mal ob du hier fündig wirst!
Wenn du die Datei root rechte brauch, dann kommt sie auch in die crontab von root
Dann dementsprechend das sudo vor dem Befehl weglassen
Ist die Datei ausführbar und hat sie richtige SheBang?
Hallo,
danke für deinen Beitrag. Ich hab das in die root crontab reingepackt, wie du vorgeschlagen hast, das habe ich vergessen zu schreiben Das sudo habe ich davor geschrieben, weil es ohne auch nicht ging. Die Datei habe ich ausführbar gemacht (denke ich) so dass ich sie ja mit ./datei.sh ausführen kann. Mit SheBang kann ich nichts anfangen Wie kann ich das überprüfen?
Dio
Guck dir mal "/var/log/syslog" an, da sollte es eigentlich eine Fehlermeldung dazu geben.
Ich habe das sudo jetzt mal rausgenommen. Im syslog steht:
Mar 12 14:00:07 BeeHive /USR/SBIN/CRON[4523]: (root) CMD (/home/pi/webcam.sh)
Mar 12 14:00:07 BeeHive /USR/SBIN/CRON[4520]: (CRON) info (No MTA installed, discarding output)
Also die webcam.sh ist die oben genannte datei.sh
Wenn ich die Crontab mit "sudo crontab -e" aufrufe, muss ich dann nicht noch einen Benutzer hinzufügen, oder nimmt er da automatisch root?
Im crontab steht exakt:
0 6-22 * * * /home/pi/webcam.sh
...einzeln mit ./webcam.sh aufgerufen läuft alles wunderbar!
LG, Dio
Wenn du es also "sudo" aufrufst ist es root.
Zeig mal Bitte webcam.sh
webcam.sh:
#!/bin/bash
FILE='/var/www/new.jpg'
DATE=$(date +"%Y-%m-%d_%H%M")
./RPi_Cam_Web_Interface/RPi_Cam_Web_Interface_Installer.sh stop
sudo raspistill -q 20 -t 2000 -o /var/www/new.jpg -rot 180
./RPi_Cam_Web_Interface/RPi_Cam_Web_Interface_Installer.sh start
OK, habe ergänzt:
#!/bin/bash
FILE='/var/www/new.jpg'
DATE=$(date +"%Y-%m-%d_%H%M")
/home/pi/RPi_Cam_Web_Interface/RPi_Cam_Web_Interface_Installer.sh stop
sudo /usr/bin/raspistill -q 20 -t 2000 -o /var/www/new.jpg -rot 180
/home/pi/RPi_Cam_Web_Interface/RPi_Cam_Web_Interface_Installer.sh start
Wenn ich das sudo wegmache, kann ich das Skript in der shell nicht mehr einzeln aufrufen, dann gibts ne Fehlermeldung. Stört das denn da, wenn der root crontab das Ding ausführen will?
führst du denn das Script auch per sudo aus, wenn du es auf der Konsole testest?
Wenn ich das sudo wegmache, kann ich das Skript in der shell nicht mehr einzeln aufrufen, dann gibts ne Fehlermeldung. Stört das denn da, wenn der root crontab das Ding ausführen will?
Du führst es dann ja sowieso als root aus, dann fällt das weg
Ah, cool!
Juhu, endlich läuft das.
- Die webcam.sh macht ein Foto und speichert es ab.
- Die 'ftp.sh' kopiert es auf einen Webserver (http://bienen.dennisdeutschmann.de/ - testweise!!!)
- und die clean.sh archiviert die neu.jpg mit Datumsangabe weg. Das geht dann dank Cronjob 1 x pro Stunde so Getestet und alles supi.
Danke Leute. Dann kann ich ja nachher den DHT11 Sensor anschließen, scheitern und die nächsten doofen Fragen stellen
LG, Dio
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!