[Gelöst] Datei dauerhaft im Flash-Speicher behalten

han-solo

Mitglied
Mitglied seit
28 Jul 2005
Beiträge
451
Punkte für Reaktionen
0
Punkte
0
Hallo,
ich möchte eine Datei dauerhaft im Flash-Speicher "/var/flash" behalten.
Kann mir einer sagen, wie ich das anstellen kann?

Hintergrund ist, dass ich auf meine SL crond nutze und nach einem reboot natürlich die Datei /var/spool/cron/crontabs/root gelöscht wird.
Ich kann sie zwar beim Booten über die debug.cfg erstellen, aber das ist nicht das was ich will.

Ich habe einen rc.cron Deamon geschrieben, welcher alle Minute die Datei /var/flash/crontab.cfg nach var/spool/cron/crontabs/root kopiert.
Jetzt müsste ich nur noch herausfinden, wie ich crontab.cfg dauerhalft im Speicher behalten kann.

Für Infos wäre ich sehr dankbar.

Hier mein deamon:
Code:
#!/bin/sh
DIR="/var/spool/cron/crontabs"
while [ 0 -eq -0 ]
do
   if ! [[ -d $DIR ]]
   then
        mkdir -p $DIR
        chmod 755 /var/spool
        chmod -R 700 /var/spool/cron
        touch $DIR/root
        chmod 600 $DIR/root
   fi
   cat /var/flash/crontab.cfg > $DIR/root
   sleep 60
done

Gruß
HS
 
Zuletzt bearbeitet:
Du legst es in der debug.cfg ab.

Eine Datei bleibt nicht dauerhaft gespeichert, nur weil sie im Verzeichnis /var/flash steht. Gib mal "ls -l /var/flash" ein. Schau mal, ob Dir ein Unterschied auffällt zwischen Deiner crontab.cfg und den anderen Dateien.

Wenn Du trotzdem unbedingt eine eigene Datei dort erstellen willst, schau Dir alle Dateien im /var/flash an. Dort steht überall 240,XXX. Suche Dir eine Nummer YYY aus, die noch nicht verwendet wird.
Dann
Code:
YYY=freie_Nummer
mknod /var/flash/crontab.cfg c 240 $YYY
cat /var/spool/cron/crontabs/root > /var/flash/crontab.cfg
Das mknod kann dann in die debug.cfg

Anwendung auf eigene Gefahr.

Es kann sein, daß Nummern verwendet sind, obwohl keine Datei mit der Nummer existiert.
Es kann sein, daß eine Nummer, die jetzt frei ist, in der nächsten Firmware verwendet wird.
Es kann sein, daß dort etwas wichtiges gespeichert ist und die Box dann nicht mehr startet.
 
Danke für die Info.
Ich konnte erfolgreich per mknod die crontab.cfg anlegen.

Code:
mknod /var/flash/crontab.cfg c 252 129

Aber wie du schon sagtest. Sie bleibt bei einem "reboot" nicht im Speicher.

Aber wie klappt das dann mit der debug.cfg aund ser ar7.cfg?
Werde die immer wieder beim booten neu erstellt?
Wo werden die Einträge hingeschrieben?
Gibt es keinen Weg die crontab.cfg samt Inhalt fest zu speichern?
Wie ist das beim ds-mod gelöst?

Gruß
HS
 
Steht bei Dir vor den anderen Dateien auch überall 252 und nicht 240? Die vordere Zahl muß auf jeden Fall bei allen gleich sein.

Alle Dateien in /var/flash werden nach jedem Neustart frisch angelegt. Das Anlegen der Datei, also den Befehl mknod, kannst Du dann in die debug.cfg legen, die wird ja bei jedem Neustart automatisch ausgeführt.

Der Inhalt, der hinter der Datei steht, bleibt nach einem Neustart erhalten. Nur die Datei, die den Zugriff auf den Inhalt ermöglicht, muß jedesmal neu angelegt werden.
 
Ja, geil!

Tatsache. Nach dem Anlegen der Datei ist der Inhalt wieder da.
So wollte ich das haben.

Vielen Dank!

Gruß
HS
 
Kostenlos!

Neueste Beiträge

Statistik des Forums

Themen
248,873
Beiträge
2,303,516
Mitglieder
378,533
Neuestes Mitglied
PatrickSt91