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!
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]. 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".
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].
Thank you for any help..i've been pathing my script for days now.. :\
"Gamin"? can you give a link? Google doesn't bring up relevant links regarding it :O
---- On Sun, 06 Feb 2011 06:33:00 -0800 Joseph L. Casale <jcasale@activenetwerx.com> wrote ----
>I'm trying to create a script, that watches the changes in > "/dev/shm/dhcpacks-in-last-2min.txt" file [in every 1 sec].
Have look at Gamin, its designed for this type of thing... _______________________________________________ CentOS mailing list CentOS@centos.org http://lists.centos.org/mailman/listinfo/centos
kellyremo wrote:
"Gamin"? can you give a link? Google doesn't bring up relevant links regarding it :O
http://www.google.com/linux?hl=en&q=gamin&btnG=Search
Note bene ------------^^^^^
On Sun, Feb 6, 2011 at 2:38 PM, Michael Klinosky mpk2@enter.net wrote:
kellyremo wrote:
"Gamin"? can you give a link? Google doesn't bring up relevant links regarding it :O
"yum search gamin" will surely help.
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