Cronjob ins Image einbauen

Hallo zusammen, die Suchfunktion förderte leider nichts Zielführendes zutage.

Wie baue ich einen Cronjob (z.B. Reboot alle 72 h) ins Image ein?

In welche Datei muss das rein?

Es geht um Release-Version 2016.1.

Hi @collimas,

wir machen das durch das bereitstellen eines Package Repositorys.

Hierfür haben wir ein Repo mit Paketen für Gluon: GitHub - Freifunk-Troisdorf/packages
Dieses in die modules datei in der site config eingebunden: https://github.com/Freifunk-Troisdorf/site/blob/v2016.1-l2tp/modules
und in der site.mk das jeweilige Paket mit installiert: https://github.com/Freifunk-Troisdorf/site/blob/v2016.1-l2tp/site.mk

Danke für deine Antwort. Gibt es einen einfacheren Web, nur den Nightboot-micrond zu benutzen? Den Netwatch brauchen wir an dieser Stelle nicht.

Hätte vielleicht jemand noch einen Ansatz NUR für einen Reboot-Cronjob?

Du kannst doch das Script von Stefan übernehmen und bis auf den Reboot-job den netwatch-Part rauswerfen

Einen Crontab-Eintrag in die Datei /var/spool/cron/crontabs/root
schreiben und die ins Image aufnehmen

entweder einen patch oder eine package musste schon machen ,
wenn dir das da oben zu komplitziert war, schau dir das package an an

ignoriere das script und bau selber etwas mit NUR dem cron job so wei du ihn haben willst

ansonsten kannst du auch ein ssh key hinterlegen und den routern dann dann „später“ einfach etwas in die cron liste schreiben.
DAs ist sicher der einfachere Weg wen nes nur um einzelen Router geht

Ungetestet, aber sollte auch einfach per /etc/rc.local gehen und braucht keinen Cron. Dazu in /etc/rc.local vor dem „exit 0“ einfügen:

( sleep 259200 && reboot ) &

Wert ist natürlich anpassbar, hier: 259200 = 72 * 60 * 60

Lässt sich das auch in das Image vor dem Kompilieren einbauen?

Schau mal unter

Ok, mir schwebt da eher etwas simpleres vor, ohne externe Pakete installieren zu müssen. Lässt sich solch ein Cronjob nicht einfach nach den Klonen aus Github direkt in die lokalen Daten eintragen, bevor man kompiliert? Das würde völlig ausreichen. Wenn das nicht geht, muss ich halt einen Fork in unserem Repo erstellen.

Also der Weg in Gluon geht da nur über Pakete, alles andere macht evtl nur zum testen sinn.
Fertige Images sollten Pakete verwenden. Der Aufwand ist auch nicht sonderlich groß, auch wenn es evtl zuerst etwas zu komplex aussieht.

1 „Gefällt mir“

@stefan:

Ich habe nun eure Pakete eingebunden, leider werden dann keine Images erzeugt.
Gibt es da einen offensichtlichen Fehler, den ich gemacht haben kann?

Viele Grüße.

Also einfacher geht es ja nun wirklich nicht. Und braucht auch nix extra.

Anderer Punkt: Ich finde automatische Reboots etwas gefährlich. Was wenn genau zum Zeitpunkt eines Firmware-Updates die Kiste der Meinung ist automatisch zu booten? Ich denke nicht das jeder immer im Blick hat wann sein Cron startet. D.h. zum automatischen Reboot, wie auch immer, gehören meiner Meinung nach auch Mechanismen diesen während eines Updateprozess automatisch zu deaktivieren.

1 „Gefällt mir“

Das ist das Risiko dieses Sleep-Verfahrens.
Besser normal via Cron starten.

(Die normmale Cron wird seit 2016.1 während des Autoupdaters angehalten.)