test ob cronjob läuft/funktioniert

Es gibt 5 Antworten in diesem Thema, welches 350 mal aufgerufen wurde. Der letzte Beitrag () ist von daimonion.

  • Hi


    Ich hab ein kleines Skript geschrieben, welches mir das ipv6 Prefix des br0 interfaces ausliest und via curl meinem dynprovider zur Verfügung stellt.


    Letzter Schritt ist nun hier das Skript per cronjob zu starten.


    Also habe ich, wie bei den ppp0 kill cronjobs hier im Forum eine neue Datei erstellt /etc/cron.d/update_v6_prefix in der der cronbefehl steht:


    Code
    5 * * * * root sh /root/update_prefix_br0.sh

    Der cronjob soll alle 5 Minuten laufen. Anschließend habe ich noch


    Code
    /etc/init.d/cron reload update_v6_prefix


    gemacht.

    Wie kann ich denn nun prüfen (von der Ausgabe des Prefix beim Dyn Anbieter) mal abgesehen ob der job gelaufen ist?


    ein journalctl | grep cron bringt mir leider keine genaue Auskunft.

  • daimonion

    Hat den Titel des Themas von „test ob cronjob läuft“ zu „test ob cronjob läuft/funktioniert“ geändert.
  • Na ja das einfachste:


    in deinen Script oben mal ein Datum generieren


    DATE=$(date +%F_%H:%M:%S)


    und dann an sinn vollen stellen einfach ne text Dati schrieben lassen

    z.B wenn das script startet

    echo "$DATE -> DDNS Update Start" >> /data/meinLog.txt

    oder es endet:

    echo "$DATE -> DDNS Update Ende" >> /data/meinLog.txt


    oder oder oder...

  • Nur der Vollständigkeit halber hier das Skript, welches das v6-Prefix des br0 Interface ausliesst, mit einem gespeicherten vergleicht und bei Ungleichheit das Prefix bei ipv64.net updated:


    Der Key und die Domain der URL wurden unkenntlich gemacht.

  • Klar, warum immer so schwer denken. Mach ich. Aktuell denke ich aber, dass der cronjob nicht läuft, denn der Prefix wird nicht aktualisiert. Aber woher weiß ich was der Fehler ist? Führe ich das Skript über die Shell aus, klappt alles.


    Edit:

    Was soll ich sagen. Cronjob läuft Skript aktualisiert, den Timestamp! Danke gierig


    Aber die Zeitangabe im Cron war noch falsch. Der muss so lauten, wenn er alle 5 Minuten laufen soll:

    Code
    */5 * * * * root /root/update_cached_prefix_br0.sh

    Einmal editiert, zuletzt von daimonion ()

  • Klar, warum immer so schwer denken. Mach ich. Aktuell denke ich aber, dass der cronjob nicht läuft, denn der Prefix wird nicht aktualisiert. Aber woher weiß ich was der Fehler ist? Führe ich das Skript über die Shell aus, klappt alles.

    Hat der Prefix sich den geändert ?

    Normalerweise würde ich sagen, das cron auch ein logfile schreibt, aber das ich Unifi und da bin ich mir nicht sicher. Darin sollte man das sehen, ob er gelaufen ist.
    Wenn keine eigenes cron-log, dann kann das auch evtl. im System-Log stehen

    Ich nutze auch ipv64 und lasse ein Script auf meiner OPNsense laufen, welches nur ein Update schickt, wenn sich die IP's auch geändert haben. und das passiert beim Kabelinternet wochenlang nicht.

  • Jup, hat sich geändert. In den Logs (journalctl oder in /var/log/cron.log) hatte ich keinerlei Einträge über das erfolgreiche Laufen des Jobs gefunden. Da macht unifi wieder ihren eigenen Kram.


    Aber gut, es geht und ich hab endlich meinen korrekten Prefix direkt vom Router in ipv64. Es wird nun aller 5 Minuten mit dem gespeicherten Prefix abgeglichen und wenn es da einen Unterschied gibt, dann wird das Prefix an meine Hauptdomain geschickt.


    Nun muss ich nur noch hinbekommen, dass ich die genutzte Subdomain parallel auch auf meine öffentliche v4 bekomme.