[Eisfair] dyndnsautologin 1.0.2 released

Olaf Jaehrling eisfair at ojaehrling.de
Mo Aug 12 02:49:39 CEST 2013


Nochmal Hallo,

> Ich könnte mir aber Vorstellen, dass ich den letzten Login auswerte und
> wenn dieser schon länger als 14 Tage her ist, ein Zwangslogin
> stattfindet. Dazu muss ich mir aber noch einfallen lassen, wie ich das
> aufbaue. Baue ich das in die /tmp/install.sh ein oder lieber in die
> /etc/init.d. Tendenz /etc/...., da das ja auch passieren kann, wenn ich
> einen Tag vor dem Login das Setup aufrufe und dann abspeichere ->
> neustarte -> neuer Crontab.
> 
> Mal sehen, ob ich das heute am Tage schaffe.

Ich habe das jetzt gleich mal eingebaut. Das hier ist der Codeschnipsel:

timestamp=`date +%s`
timestamp_14tage=`echo " $timestamp - 1209600 " | bc -l`
last_run=`ls -l --time-style=+\%s /etc/dyndnslastrun | awk {'print $6'}`
if [ "$last_run" -lt "$timestamp_14tage" ]
then
   /usr/local/bin/dyndnsautologin.sh last_run 2&>/dev/null
fi

Da bei jedem Login die Datei /etc/dyndnslastrun einen neuen Zeitstempel
bekommen sollte das funktionieren. Getestet habe ich das mal bei mir und
es hat funktioniert. Mein letzter Login war vor 15 Tagen. Welch ein
glücklicher Zufall. Heute morgen gegen 9 Uhr wäre der nächste lt.
crontab gewesen. Der nächste ist dann am 27.08. Hätte ich also ebend das
Setup aufgerufen wäre es kritisch geworden. Durch den Codeschnipsel
wurde das nun aber abgefangen.

Die Übergabe der Variable "last_run" verhindert, dass
/usr/local/bin/dyndnsautologin.sh den cron nochmal neu erstellt (ab
dieser Version). Das macht das init-script ja schon selber beim restart.

Aber bevor ich das veröffentliche warte ich noch eure Meinungen dazu ab.

Gruß und Gute Nacht

Olaf

P.S. Sorry Marcus, dass ich immer wieder zu bc -l zurückfalle. Ist bei
mir so eingemeisselt. :) :)




Mehr Informationen über die Mailingliste Eisfair