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-0001.html>