Änderung von Datei überwachen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
ruwen
Beiträge: 389
Registriert: 06.04.2003 18:37:25

Änderung von Datei überwachen

Beitrag von ruwen » 30.07.2004 15:19:17

Moin moin!

Ich brauche ein Script was mir bescheid sagt, wenn eine bestimmte Datei geändert wurde.

So eine ungefähre Idee hab ich schon:
Das Script wird per Crontab aufgerufen.
Dieses Script guckt auf den genaue Datum wann die Datei geändert wurde und speichert dies in einer Datei.
Beim nächsten Aufruf wird geguckt, ob das Datei in der Datei mit dem aktuellem Datei übereinstimmt, wenn dies nicht der Fall ist, dann wird die Zeile "echo "Datei wurde aktualisiert" |mail bla@hu" aufgerufen.

Kann mir jemand beim Realisieren helfen (oder gibt es vielleicht eine viel einfachere Lösung)?

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 30.07.2004 15:48:14

Vielleicht solltest Du Dir mal das Paket fam anschauen:

Code: Alles auswählen

 This package provides a server that can monitor a given list of files
 and notify applications through a socket. If the kernel supports dnotify
 (kernels >= 2.4.x) FAM is notified directly by the kernel. Otherwise it has
 to poll the files' status. FAM can also provide a RPC service for monitoring
 remote files (such as on a mounted NFS filesystem).
Gruss, mistersixt.

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 30.07.2004 15:49:49

Da musst Du aber noch ein wenig programmieren, weil Du dann auch noch einen FAM Client brauchst... Ist aber (scheinbar...) nicht schwierig...

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Benutzeravatar
eC
Beiträge: 354
Registriert: 24.07.2002 13:34:13
Wohnort: karlsruhe

Re: Änderung von Datei überwachen

Beitrag von eC » 30.07.2004 18:04:35

ruwen hat geschrieben:Moin moin!

Ich brauche ein Script was mir bescheid sagt, wenn eine bestimmte Datei geändert wurde.

So eine ungefähre Idee hab ich schon:
Das Script wird per Crontab aufgerufen.
Dieses Script guckt auf den genaue Datum wann die Datei geändert wurde und speichert dies in einer Datei.
Beim nächsten Aufruf wird geguckt, ob das Datei in der Datei mit dem aktuellem Datei übereinstimmt, wenn dies nicht der Fall ist, dann wird die Zeile "echo "Datei wurde aktualisiert" |mail bla@hu" aufgerufen.
Hi Du könntes ja auch folgendes ausprobieren:

Code: Alles auswählen

#!/bin/bash
if [ `find /home/eC/test.txt -mmin -60` ]
then
echo "modified"
echo "Datei wurde aktualisiert" | mailx -s test eC@home.net
else
echo "not modified"
fi
exit 0
Und das jede Stunde laufen lassen :)

Vielleicht klappts

gruss

eC

Benutzeravatar
ruwen
Beiträge: 389
Registriert: 06.04.2003 18:37:25

Beitrag von ruwen » 30.07.2004 18:11:52

Boah vielen Dank für die vielen Antworten.
Da sich es bei mir nur um eine Datei dreht, werd ich das Script von eC versuchen.

MfG ruwen

Benutzeravatar
ruwen
Beiträge: 389
Registriert: 06.04.2003 18:37:25

Beitrag von ruwen » 31.07.2004 19:37:31

Es funktioniert. Danke :)

Antworten