[CentOS] if the file changes send email about diff

Sun Feb 6 19:41:46 UTC 2011
Cameron Kerr <cameron at humbledown.org>

On 7/02/2011, at 2:33 AM, kellyremo wrote:

> 
> I have 2 script. Script "A", Script "B".
> 
> Script "A" is regulary watching the "dhcpacks" [dhcp release is configured to 2mins] in the logs, for the past 2 minutes. it writes the MAC addresses to a file [/dev/shm/dhcpacks-in-last-2min.txt] every 2 minutes. Ok, this is working, active clients are in this file. Super!

"The past 2 minutes" is not a good indication of "active client" (unless that's your maximum lease time). It would be better to look in the dhcp.leases file somewhere under /var. There are at least Perl libraries (and very likely Python libraries too) for parsing this file easily.

> 
> Script "B": http://pastebin.com/raw.php?i=wvhwhPWu
> I'm trying to create a script, that watches the changes in "/dev/shm/dhcpacks-in-last-2min.txt" file [in every 1 sec].

Why on earth are you putting it under /dev/shm/?

Surely /tmp, /var/tmp, or /var/lib/FOO would be better.

> Ok. But: my "watcher" script [the pastebined] is not working fine...sometime it works, sometime it send that someone "XY logged out", but it's not true! nothing happened, and the problem is not in the Script "A".

I think your log-out detection is faulty. The only way you could reasonably infer this is if either a DHCP RELEASE message has been received, or the lease has not been renewed after the lease-expiry.

What is your lease-time?

> Can someone help me point out, what am i missing? How can i watch a file [in every sec], that contains only MAC addresses, and if someone doesn't get dhcpack in 2 minutes, the file "/dev/shm/dhcpacks-in-last-2min.txt" changes, and that clients MAC address will be gone from it, and i need to know, who was it [pastebined my script..but somethings wrong with it].

I would suggest a solution based around dhcp.leases and something like gamin

Hope it helps,
Cameron

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.centos.org/pipermail/centos/attachments/20110207/bded5dd3/attachment-0005.html>