Wo speichert man ein script dauerhaft?

Ich will ein script im Router speicher, das einen reboot überleben soll.

Gibt es Verzeichnisse, die dauerhaft beschreibbar sind?

Interessant ist auch zu wissen, wo ein Script ein Autoupdate überlebt

Ich verwende dafür meistens /etc/scripts/* oder /usr/scripts/*.
Das ganze dann in der /etc/sysupgrade.conf hinterlegt sollte auch ein Auto-Update überstehen:

## This file contains files and directories that should
## be preserved during an upgrade.

/usr/scripts/
8 Likes

wusste nicht mal dass es so einen Beriech dafür gibt…danke

1 Like

so: glasklare Infos für euch

wenn ich in /etc/sysupgrade.conf
folgende EInträge mache:

/etc/crontabs/
/etc/crontabs/root

… bleiben die crontabs unter folgenden sysupgrade-methoden erhalten:

sysupgrade über Terminal - ja
sysupgrade über Interface-webseite (Einstellungen beibehalten: an) - ja
sysupgrade über Interface-webseite (Einstellungen beibehalten: aus) - nein

hope it helps…

13 Likes

Super Info! Ab in ein Wiki damit!

3 Likes

Das kann man übrigens auch nutzen, um alles relativ updatesicher zu machen.

Einfach eine Crontab mit der Methode absichern, und in die dann ein Skript setzen das irgendwie einmal pro Stunde nachprüft, ob Änderungen die man vorgenommen hat, noch vorhanden sind. Wenn nicht wird ein Skript aufgerufen, in dem die Befehle stehen um die nicht-updatesicheren Einstellungen zu installieren.

Geht auch ohne Prüfung, ob was geändert wurde, aber dann macht man sich ggf. den Flash schnell kaputt, falls man ständig was schreibt.

Wär vielleicht sogar ein Gluon-Paket wert, wer macht? :smiley:

Jedenfalls nice find, @gomaaz und @monty!

@Senorkaffee: Erledigt. Zumindest für die Anleitungen der Regio Aachen, raubmordkopieren erlaubt :wink:

3 Likes

Mit Gluon-Paket meinst du eine Crontab in den Experteneinstellungen or wie or what?

Falls das falsch rübergekommen ist:
Die beiden genannten Verzeichnisse werden nicht automatisch gesichert, sondern nur, weil ich sie selbst erzeuge, und in der /etc/sysupgrade.conf hinterlege :smile:

Wenn sysupgrade mit dem Parameter -v aufgerufen wird, sieht man, was alles vor dem Update gesichert wird, sysupgrade -l zeigt gefahrlos an, was gesichert werden würde, ohne wirklich ein Update durchzuführen.
Dort erkennt man auch, was standaradmäßig gesichert wird.

4 Likes

Ok, habs im Wiki geändert. Danke für den Hinweis!

Bei sysupgrade -l erhalte ich in der Liste ohne Änderungen auch /etc/crontabs/root. Das würde dafür sprechen, dass die Crontab standardmäßig gesichert wird, also z.B. die Nachtschalteranweisungen erhalten bleiben.

Stimmt. Das Verzeichnis /etc/crontabs/ ist auch in /lib/upgrade/keep.d/base-files hinterlegt und Dateien aus /lib/upgrade/keep.d/ werden laut https://dev.openwrt.org/browser/trunk/package/base-files/files/sbin/sysupgrade beim Upgrade gesichert.

Das könnte man mal testen :smile:.

1 Like

Wir haben unsere alten Firmware Version auf dem Image Server im Archiv Ordner zum download bereit.
Die eigenen sich perfekt zum Testen.