http://www.perlmonks.org?node_id=1070941


in reply to Re: put dhcp leases into database
in thread put dhcp leases into database

Thanks for the reply

my script works for but some times it repeats the data in database... i just don't want to repeat the data in database...as soon as the lease is created i want it to be written it into database...

Replies are listed 'Best First'.
Re^3: put dhcp leases into database
by karlgoethebier (Abbot) on Jan 17, 2014 at 12:56 UTC
    "...it repeats the data in database..."

    Does that mean the same data is written twice or more to your database?

    If so, i guess a bit :-( Can't you remember the mtime of dhcpd.leases and write the data only to your DB if dhcpd.leases was updated?

    But this might get a little bit more complicated:

    "...Every time a lease is acquired, renewed or released, its new value is recorded at the end of the lease file. So if more than one declaration appears for a given lease, the last one in the file is the current one..."

    And:

    "...In order to prevent the lease database from growing without bound, the file is rewritten from time to time. First, a temporary lease database is created and all known leases are dumped to it. Then, the old lease database is renamed /var/lib/dhcpd/dhcpd.leases~. Finally, the newly written lease database is moved into place..."

    See also dhcpd.leases.

    Update: Net::ISC::DHCPd::Leases might be interesting. I didn't use it but perhaps it's worth to take a look at.

    Regards, Karl

    «The Crux of the Biscuit is the Apostrophe»