Posts by ukognos55

    hyle - Shebang repariert - vielen Dank - habe ich übersehen.


    Rasp-Berlin

    Gerne darfst du mich zwecks sudo erleuchten.

    Script liegt (wie im ersten Post beschrieben) in /boot.

    Wie ich darauf komme? Na ganz einfach durch Fehlermeldungen.

    mv: das Verschieben von '/boot/config.txt' in ein Unterverzeichnis

    seiner selbst ('/boot/config_night.txt'$'\r') ist nicht möglich

    Diese Fehlermeldung erhalte ich, wenn ich "mv /boot/config.txt /boot/config_night.txt" ausführe.


    rpi444

    Stimmt, danke dir. Ich werde das Sudo entfernen. Ich werde das mit den absoluten Pfaden probieren.

    Hallo liebes Forum,


    bevor ich zu meinem Problem komme, muss euch vermutlich erst mal etwas über das Projekt erzählen.
    Ich nutze eine PI-Cam mit IR-Filter-Switch.


    Mit dieser Cam und einem PI möchte ich eine Überwachungskamera realisieren.
    Ich nutze dafür Motion und das funktioniert so auch fehlerfrei.


    Diese Kamera lässt sich über die /boot/config.txt steuern.

    Bei Tag soll der IR-Filter nicht genutzt werden - also trägt man in die config.txt disable_camera_led=0 ein.

    Bei Nacht soll das Gegenteil erfolgen - also disable_camera_led=1.


    Hier beginnt mein Problem.

    Ich wollte über "crontab -e" einen Shellscript aufrufen, der die aktuelle "/boot/config.txt" umbenennt und die korrekte einsetzt.


    Also bei Tag-Modus:

    mv config.txt config_night.txt

    sleep 5

    mv config_day.txt config.txt

    sleep 5

    sudo reboot now


    Und im Nachmodus:

    mv config.txt config_day.txt

    sleep 5

    mv config_night.txt config.txt

    sleep 5

    sudo reboot now


    Ich habe festgestellt, dass die Scripte mit in dasselbe Verzeichnis müssen, da Sie sonst die config.txt nicht umbenennen können.

    Fand ich eigentlich nicht so geil, weil ich meine Skripte gern unter /home/pi hätte, aber ich war es leid kryptischen Fehlermeldungen nachzugehen.


    So liegen die beiden Sctipte also in "/boot".

    Die zeitliche Steuerung wollte ich über Crontab realisieren.


    Also unter "sudo crontab -e" folgendes eingetragen:


    10 20 * * * sudo sh /boot/cammodenight.sh

    10 6 * * * sudo sh /boot/cammodeday.sh


    Inhalt eines Scriptes: (hier wechsel von Nacht zu Tagmodus)

    Code
    #!bin/bash
    mv config.txt config_night.txt
    sleep 5
    mv config_day.txt config.txt
    sleep 5
    sudo reboot now



    Nun komme ich zu meinem Problem.

    Crontab ist nicht in der Lage, den Sctipt auszuführen, obwohl ich 777 auf die entsprechenden Dateien gelegt habe und alles mit sudo aufrufe.


    Gibt es vielleicht eine elegantere Lösung, um in der Config.txt den Eintrag "disable_camera_led=0" in "disable_camera_led=1" zu ändern?

    Wenn ich meine Scripte manuell ausführe funktioniert alles. Warum funktioniert es nicht mit Crontab?

    Warum ist es nicht möglich aus dem Verzeichnis /home/pi mit einem Script Dateien im Verzeichnis /boot/ mit mv umzubenennen?


    Vielen Dank für eure Hilfe.


    Grüße

    Ukognos