Re: Alter einer Datei in Sekunden ermitteln

Autor: Markus Hochholdinger <Markus_at_hochholdinger.net>
Datum: Sat, 26 Mar 2011 13:36:00 +0100
Hi Raphael,

Am 25.03.2011 um 23:00 Uhr schrieb Raphael Eiselstein <rabe_at_uugrn.org>:
> für eine Art watchdog-Funktion benötige ich das Alter einer Datei in
> Sekunden. Im Normalbetrieb wird diese Datei zB alle 60sec getoucht. Ich
> will periodisch ermitteln, wenn diese Datei zB älter als 80sec ist und
> eine Aktion auslösen.
> Unter Linux habe ich dazu folgendes Konstrukt gebastelt:
> AGE=$(( $(date +%s) - $(date +%s --date "$(stat --format %y
> /var/run/filename )") ))"
> wobei das aufgeschlüselt etwa folgendes ist:
> NOW_SEC=$(date +%s)
> FILEDATE=$(stat --format %y /var/run/filename )
> FILEDATE_SEC=$(date +%s --date "${FILEDATE}"
> AGE=$(( ${NOW_SEC} - ${FILEDATE_SEC} ))
> test ${AGE} -gt 80 && do_alarm
> Jetzt die Frage, ob es ein Tool gibt was direkt AGE erzeugt, also z.B.
> $ fileage /var/run/filename
> 42
> ... falls die Datei 42sec derzeit alt ist.
> Gibts da schönere Lösungen?

hm, vielleicht nicht unbedingt schöner, aber Du kannst das komplett mit date 
und bash erledigen:
echo $(( $(date +%s) - $(date +%s --reference /var/run/filename) ))


> PS: Unter FreeBSD geht das mit stat so:
> $ stat -f %Dm /tmp
> 1301090275
> (= Unix Timestamp am "Fr 25 Mär 2011 22:57:55 CET")

$ date +%s --reference=/tmp
1301142692

Ich muss gestehen, dass ich stat erst NACH date kennen gelernt habe und 
deshalb solche Sachen immer erstmal mit date angehe...


-- 
Gruß
                                                          \|/
       eMHa                                              (o o)
------------------------------------------------------oOO--U--OOo--
 Markus Hochholdinger
 e-mail  mailto:Markus_at_Hochholdinger.net             .oooO
 www     http://www.hochholdinger.net                (   )   Oooo.
------------------------------------------------------\ (----(   )-
Ich will die Welt verändern,                           \_)    ) /
aber Gott gibt mir den Quelltext nicht!                      (_/


-- 
UUGRN e.V. http://www.uugrn.org/
http://mailman.uugrn.org/mailman/listinfo/uugrn
Wiki: https://wiki.uugrn.org/UUGRN:Mailingliste
Archiv: http://lists.uugrn.org/

Empfangen am 26.03.2011

Dieses Archiv wurde generiert von hypermail 2.2.0 : 26.03.2011 CET