Gawan
Posts: 14
Joined: Sat Mar 07, 2015 5:47 pm

Crontab funktioniert nicht

Fri Jul 31, 2015 4:03 pm

Hallo,

ich habe ein Script camera.sh das mit der Hand ausgeführt (egal ob root oder nicht) super funkioniert.
Es nimmt ein Bild von der Cam, speichert es lokal und kopiert es auf einen FTP-Server, mittels FTP-Command und Put
Klappt wie gesagt einwandfrei

Jetzt möchte ich dieses Programm minütlich mittels Cronjob laufen lassen.
Dazu habe ich in sudo crontab -e folgendes eingetragen:
*/1 * * * * /home/pi/camera/camera.sh >> /home/pi/camera/logfile.log

egal ob mit oder ohne root - es funktioniert schlicht und einfach nicht !!!
Das lokale Bild wird gespeichert, FTP verbindet sich erfolgreich, aber dann kommt (im Logfile) nur noch:

Remote system type is UNIX
Using binary mode to transfer files
local: 2015-07-31_1801.jpg remote: 2015-07-31_1801.jpg
221-Goodbye. You uploaded 0 and downloaded 0 kbytes
221 Logout

Wie gesagt - manuell aufgerufen überträgt das Skript erfolgreich das Bild ..

Wieso ?

User avatar
mline
Posts: 1423
Joined: Sun Jan 27, 2013 1:47 pm
Location: Austria, Vienna

Re: Crontab funktioniert nicht

Fri Jul 31, 2015 6:02 pm

Poste mal das Script.
<~~>

Gawan
Posts: 14
Joined: Sat Mar 07, 2015 5:47 pm

Re: Crontab funktioniert nicht

Fri Jul 31, 2015 6:47 pm

Hallo,

das Skript sieht so aus:

Code: Select all

#!/bin/sh
DATE=$(date +"%Y-%m-%d_%H%M")
raspistill -n -t 2000 -o /home/pi/camera/$DATE.jpg -w 800 -h 600 -q 10

HOST=ftpxx.meinhoster.com
USER=abcdef
PASS=abcdef

# ftp -inv $HOST <<EOF
# user $USER $PASS
# put $DATE.jpg
# bye
# EOF


# wput /home/pi/camera/$DATE.jpg -B ftp://abcdef:abcdef@ftpxx.meinhoster.com:21


ftp -n -i $HOST <<EOF
user $USER $PASS
mput $DATE.*
quit
EOF

Ich habe jetzt scho drei Varianten, einmal FTP mit PUT, einmal WPUT und einmal FTP mit MPUT

Alle drei laufen wenn ich das Skript manuell starte (außer WPUT, der überträgt immer nur Bruchstücke)
Aber mittels Cronjob läufts nicht.
Meistens wird zwar das Bild erstellt und gespeichert, aber nie übertragen.

Bin ratlos :|

FM81
Posts: 518
Joined: Wed Apr 17, 2013 4:33 pm

Re: Crontab funktioniert nicht

Sun Aug 02, 2015 3:27 pm

Das letzte Codeschnipsel vielleicht so?

Code: Select all

ftp -n -i $HOST <<EOF
user $USER $PASS
lcd /home/pi/camera
mput $DATE.*
quit
EOF
Im CRONTAB läuft alles unter einer minimalen Umgebung, also weiß der mit einiger Wahrscheinlichkeit wenig von Deinem lokalen Verzeichnis - außer Du sagst es ihm ...

Gruß, FM_81
A: What does the command 'cat /dev/urandom', can you tell me please?
B: Yeah, that's very simple: It feeds your cat with radioactive material!

DreiBaer
Posts: 3
Joined: Mon Nov 27, 2017 9:13 am

Re: Crontab funktioniert nicht

Mon Nov 27, 2017 9:19 am

Hallo,

ich habe auch das Problem, dass meine crontabs scheinbar nichts aufrufen.
So wie ich es verstanden habe, habe ich zwei unterschiedliche crontabs. Die des Users und die vom Root. Aber beide haben den Befehl nicht ausführen können.

Code: Select all

crontab -e
sudo crontab -e 
Kann ich die Ausführung erstmal irgendwie testen? Datum plus Uhrzeit in eine Logdatei schreiben oder so? Gibts dafür ein schnelles Script?

Wenn ich auf GPIOs zugreifen will, muss ich meine Script dann mit root-Rechten ausführen lassen? Wenn ja, dann wundert es mich, dass der zweite Versuchen (crontab des roots) nicht fuktioniert.


Gruß
DreiBaer

smartifahrer
Posts: 1038
Joined: Sat Feb 13, 2016 8:10 am

Re: Crontab funktioniert nicht

Mon Nov 27, 2017 1:06 pm

Der Fehler liegt in der verwendung von "sudo crontab -e". Damit werden die Cron jobs des Root Benutzer bearbeitet.
Einfach "crontab -e" eingeben und dann sollte es funktionieren. Ich hatte mal den gleichen Fehler gemacht.

DreiBaer
Posts: 3
Joined: Mon Nov 27, 2017 9:13 am

Re: Crontab funktioniert nicht

Mon Nov 27, 2017 4:58 pm

Entschuldige. Aber ich hatte geschrieben, dass ich BEIDES ausprobiert habe. Und beides hat NICHT funktioniert.

User avatar
mline
Posts: 1423
Joined: Sun Jan 27, 2013 1:47 pm
Location: Austria, Vienna

Re: Crontab funktioniert nicht

Mon Nov 27, 2017 7:41 pm

Wenn du folgendes in die crontab einträgst:

Code: Select all

* * * * * pfad/zum/script.sh > pfad/zur/script.log 2>&1
werden in die Datei "pfad/zur/script.log" alle Meldungen des Scripts geschrieben. Außerdem bekommt man ne Nachricht in die interne Mailbox (Befehl mail) des Accounts falls irgendwelche Probleme mit Cron auftauchen.
<~~>

crumble
Posts: 75
Joined: Sat Feb 07, 2015 7:34 pm

Re: Crontab funktioniert nicht

Tue Nov 28, 2017 10:23 am

Läuft crond überhaupt auf deinem Rechner?
Raspbian ist doch mittlerweile auch ein systemd System auf dem man normalerweise etwas anderes nehmen soll:
https://kofler.info/systemd-timer-als-cron-alternative/

DreiBaer
Posts: 3
Joined: Mon Nov 27, 2017 9:13 am

Re: Crontab funktioniert nicht

Tue Nov 28, 2017 9:26 pm

Ne, kein crond gefunden

Code: Select all

pi@raspberrypi:~ $ ps fax | grep crond
30024 pts/0    S+     0:00              \_ grep --color=auto crond
pi@raspberrypi:~ $ 
Das ist ja super. Also wieder etwas gelernt.

User avatar
mline
Posts: 1423
Joined: Sun Jan 27, 2013 1:47 pm
Location: Austria, Vienna

Re: Crontab funktioniert nicht

Tue Nov 28, 2017 10:48 pm

DreiBaer wrote:
Tue Nov 28, 2017 9:26 pm
Das ist ja super. Also wieder etwas gelernt.
Ja, was falsches.
Such nach cron
Bei raspbian läuft folgender prozess:

Code: Select all

pi@RPiButtonBox:~ $ ps ax | grep -v grep | grep cron
  276 ?        Ss     0:00 /usr/sbin/cron -f
pi@RPiButtonBox:~ $ 
<~~>

smartifahrer
Posts: 1038
Joined: Sat Feb 13, 2016 8:10 am

Re: Crontab funktioniert nicht

Fri Dec 01, 2017 2:51 pm

ich habe nun auf meinem Baby Pi mit Rasbian Stretch die folgende Anleitung ausprobiert: https://www.raspberrypi.org/documentati ... melapse.md
Die Anleitung funktioniert. Daher vermute ich mal das das Script bzw. einer der Ordner nicht dem Benutzer pi gehört bzw dieser keine schreibrechte oder Rest zum öffnen hat. Daran lag es bei mir mal.

Return to “Deutsch”