[fli4l] "tail -f" um _inha?==?utf-8?Q?ltliche_ Veränderung eine?==?utf-8?Q?r Datei abzufragen?

Peter Schiefer newsgroup at lan4me.de
Do Feb 9 15:45:04 CET 2017


Hallo Klaus,

Am Thu, 09 Feb 2017 15:04:50 +0100 schrieb K. Dreier:

> Um zu verhindern, daß der Zustand alle x Sekunden an die clients
> geschickt wird, dachte ich mir, daß ich nur dann eine scp-Aktion
> ausführe, wenn sich der Inhalt der txt-Datei geändert hat.
> Meines Verständnisses nach kann ich die Veränderung einer Datei
> mittels "tail -f 'pfad/zur/datei'" abfragen.
> Aber: die Datei wird ja alle 100 Sekunden neu geschrieben und damit
> verändert. Dies unabhängig, ob sich der _Inhalt_ der Datei ("on" oder
> "off") geändert hat.
> 
> Wie kann ich überprüfen, ob sich (nur) der Inhalt geändert hat und
> dabei das ständige Verändern des timestamps usw. ignorieren? Irgendwas
> mit "less" oder "watch"? Falls das auf fli4l überhaupt geht.

deine Datei enthält also entweder den String on oder off dann geht
folgendes:

statusold="undefined"
while true
do
    status=`cat datei`

    if [ "$status" != "$statusold" ]
    then
        case $status
            on)
                aktion wenn status auf on gewechselt hat
                ;;
            off)
                aktion wenn status auf off gewechselt hat
                ;;
       esac
       statusold=$status
    fi
    andere aktionen in der Schleife
    ...
    ....
    sleep <Anzahl sekunden bis zum nächsten durchlauf>
done

Gruß Peter


Mehr Informationen über die Mailingliste Fli4L