[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Alter einer Datei in Sekunden ermitteln


Hi Raphael,

Am 25.03.2011 um 23:00 Uhr schrieb Raphael Eiselstein <rabe@xxxxxxxxx>:
> fuer eine Art watchdog-Funktion benoetige ich das Alter einer Datei in
> Sekunden. Im Normalbetrieb wird diese Datei zB alle 60sec getoucht. Ich
> will periodisch ermitteln, wenn diese Datei zB aelter als 80sec ist und
> eine Aktion ausloesen.
> Unter Linux habe ich dazu folgendes Konstrukt gebastelt:
> AGE=$(( $(date +%s) - $(date +%s --date "$(stat --format %y
> /var/run/filename )") ))"
> wobei das aufgeschlueselt 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 schoenere Loesungen?

hm, vielleicht nicht unbedingt schoener, 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 Maer 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...


-- 
Gruss
                                                          \|/
       eMHa                                              (o o)
------------------------------------------------------oOO--U--OOo--
 Markus Hochholdinger
 e-mail  mailto:Markus@xxxxxxxxxxxxxxxxx             .oooO
 www     http://www.hochholdinger.net                (   )   Oooo.
------------------------------------------------------\ (----(   )-
Ich will die Welt veraendern,                           \_)    ) /
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/