Beliebige Config automatisch Neu laden

Registriere dich jetzt, um exklusive Vorteile zu genießen! Als registriertes Mitglied kannst du Inhalte herunterladen und profitierst von einem werbefreien Forum.
Mach mit und werde Teil unserer Community!
  • Aloha,

    mich Beschäftigt seit einigen Tagen folgende Frage: Ist es möglich per Cron eine beliebige Config neu zu laden?

    Ausgangssituation ist folgende:

    Ich lasse seit einigen Monaten einen MagigMirror auf einem 4er Pi laufen. Dort werden mir 3 Kameras angezeigt was auch wunderbar Funktioniert.

    Das Problem an der Sache ist nur, das die Kameras in Motioneye laufen und Motioneye als Container.

    Jeden früh um 6Uhr wird der Container wegen Backup gestoppt, gesichert und dann wieder gestartet. Der MagicMirror bekommt das mit und zeigt mir deshalb die Kameras nicht mehr an.

    Ich muss mich per Console auf dem MM einloggen, die Config per nano aufrufen, speichern und fertig. Dann werden auch die Kameras wieder Angezeigt.

    Da ich mich aber nicht jedesmal auf dem Pi einloggen möchte stellt sich mir die Frage ob man das nicht Automatisieren kann per Cron.

    Ja ich könnte den Pi per Cron neustarten lassen aber das wollte ich halt vermeiden.


    So nun sind die Experten gefragt (ich bin defenitiv keiner)


    Danke...


    P.s. Aufruf in der Console sudo nano MagicMirror/config/config.js (rest siehe oben)

    ~*~ Es tat NiVEA als beim ersten Mal ~*~

  • Einige Anwendungen lesen ihre Config neu ein, wenn man ihnen ein kill -HUP schickt. Alternativ versuche mal, ob bei dir nicht auch ein (cron-gesteuertes) /usr/bin/touch /MagicMirror/config/config.js statt des nano-Aufrufs reicht.

    Wenn du nichts zu sagen hast, sag einfach nichts.

    Edited once, last by llutz: Leading slash vergessen ().

  • Jeden früh um 6Uhr wird der Container wegen Backup gestoppt, gesichert und dann wieder gestartet. Der MagicMirror bekommt das mit und zeigt mir deshalb die Kameras nicht mehr an.

    Dann ist an der MM-Konfiguration etwas nicht in Ordnung.

    Denn wenn der Container neu gestartet wird, sollten auch die Kameras erkannt werden.

    Du könntest den MM auch neu starten.

    (Oder natürlich die Config neu einlesen. Doch hierzu sollte das MM-Programm auf den passenden Befehl auch sauber reagieren. Das Erkennen vom 'kill -HUP $ProzessID" ist nichts, was ein Programm automatisch macht, diese Funktion muss im Programm definiert werden)

    Computer ..... grrrrrr

  • Rasp-Berlin


    Ich glaube Du verstehst da was Falsch. Die Config von MM ist schon Richtig aber :

    Nicht der MM läuft als Container, sondern MotioEye ist der Container der Frühs um 6uhr neu gestartet wird.

    Der MM bekommt nur das Bild von MotionEye.

    ~*~ Es tat NiVEA als beim ersten Mal ~*~

    Edited once, last by DeltaBlue: Sinn eines Satzes geordnet ().

  • Alternativ versuche mal, ob bei dir nicht auch ein (cron-gesteuertes) /usr/bin/touch MagicMirror/config/config.js statt des nano-Aufrufs reicht.

    Bericht: ich habe das mal Probiert und in der Crontab eigetragen, aber scheint nicht zu reichen bzw. zu Funktionieren.

    Im Log ist zwar folgendes zu finden aber ohne das die Kameras dann wieder angezeigt werden:

    Code
    Jan 26 06:30:01 MagicMirror CRON[6836]: (root) CMD (   /usr/bin/touch MagicMirror/config/config.js)

    ~*~ Es tat NiVEA als beim ersten Mal ~*~

  • Im Log ist zwar folgendes zu finden aber ohne das die Kameras dann wieder angezeigt werden:

    Code
    Jan 26 06:30:01 MagicMirror CRON[6836]: (root) CMD (   /usr/bin/touch MagicMirror/config/config.js)

    Versuch mal mit dem absoluten Pfad (für diese "config.js"-Datei), in der zuständigen crontab.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

  • Versuch mal mit dem absoluten Pfad (für diese "config.js"-Datei), in der zuständigen crontab.

    Werde ich ausprobieren. Ich lass das ganze auch mal um 18uhr ausführen, aber nicht als Root sondern als Pi.

    Mal schauen was dann passiert bzw im Syslog steht.

    ~*~ Es tat NiVEA als beim ersten Mal ~*~

  • ..., aber nicht als Root sondern als Pi.

    BTW: Hat der user pi auch Schreibrechte für die "config.js"-Datei?

    Welche crontab benutzt Du jetzt und welche crontab wirst Du für den user pi benutzen?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

  • BTW: Hat der user pi auch Schreibrechte für die "config.js"-Datei?

    Welche crontab benutzt Du jetzt und welche crontab wirst Du für den user pi benutzen?

    Super, an die Schreibrechte hatte ich garnicht gedacht. Der hat natürlich keine. Mhhm dann sollte ich das wohl vergessen.

    Dann eben als root nochmal um 18uhr.

    Nutzen tue ich die in /etc/crontab , nicht die mit dem Aufruf per crontab -e ( was wohl die für den gerade angemeldeten User ist wenn ich das Richtig verstanden habe ).

    ~*~ Es tat NiVEA als beim ersten Mal ~*~

  • /usr/bin/touch MagicMirror/config/config.js


    ist kein absoluter Pfad, kann es sein, dass root die Crons in /root ausführt?

    Da Fragst Du Sachen, ich bin froh das ich bis jetzt das ganze ohne direkte Hilfe in den Griff bekommen habe was solche Sachen betrifft.

    Wenn Du noch so nett bist und mir verraten tust wie ich das Prüfen kann, tue ich das natürlich.

    Ein Reboot ginge zwar auch aber das wäre nur die aller letzte Option. (Zerstört mir die Statistik der Onlinzeit vom Pi, da wieder von 0 gezählt wird)


    P.s. habe es jetzt mal in der Crontab so eingetragen.

    * 18 * * * root /usr/bin/touch /home/pi/MagicMirror/config/config.js]

    ~*~ Es tat NiVEA als beim ersten Mal ~*~

  • P.s. habe es jetzt mal in der Crontab so eingetragen.

    * 18 * * * root /usr/bin/touch /home/pi/MagicMirror/config/config.js]

    BTW: Wie oft willst Du den Befehl, um bzw. ab 18 Uhr ausführen lassen? So wird er ab 18 Uhr 60 mal (zu jeder Minute) ausgeführt.

    Für Punkt 18:00 Uhr wäre so:

    Code
    0 18 * * *

    richtig.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

  • Jetzt bin ich verwirrt. Laut Crontab Beispiel ist doch die Reihenfolge folgende:

    Code
    Example of job definition:
    .---------------- minute (0 - 59)
    |  .------------- hour (0 - 23)
    |  |  .---------- day of month (1 - 31)
    |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
    |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
    |  |  |  |  |
    *  *  *  *  * user-name command to be executed
    * 18  *  *  *   root    /usr/bin/touch /home/pi/MagicMirror/config/config.js 

    Und das sollte doch stimmen. Wie so sollte jetzt der Cron ab 18Uhr 60mal ausgeführt werden? :conf:


    P.S. Blau ist Orginal in der Crontab.....Grün mein Eintrag...

    ~*~ Es tat NiVEA als beim ersten Mal ~*~

  • Ok Seite in Gemerkt. Aber jetzt zum Verständniss: ist das eine Linuxsache oder Allgemein?

    Denn so kann man doch nicht "volle" Stunden nutzen, wenn man 01 18 * * * angeben muss und anstatt * 18 * * *.

    ~*~ Es tat NiVEA als beim ersten Mal ~*~

  • Aber jetzt zum Verständniss: ist das eine Linuxsache oder Allgemein?

    Allgemein.

    Denn so kann man doch nicht "volle" Stunden nutzen, wenn man 01 18 * * * angeben muss und anstatt * 18 * * *.

    Warum willst Du "01" benutzen, wenn es zur vollen Stunde sein soll?


    EDIT:


    BTW: Wenn Du das mit cron nicht verstehst, kannst Du auch eine timer-unit, für die Ausführung zur vollen Stunde (18:00 Uhr), benutzen.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden