diff options
author | Jonas Smedegaard <dr@jones.dk> | 2015-09-21 17:48:25 +0200 |
---|---|---|
committer | Jonas Smedegaard <dr@jones.dk> | 2015-09-21 17:48:25 +0200 |
commit | 8b5abc6375237edd34f26cb6456fb109feff5937 (patch) | |
tree | d2d90f42bb7f6ab9df15043fec671d05056551b7 /localshowdhcpleasesfree | |
parent | a9278c203c978a65a7b07f1df0aec61260627387 (diff) |
Add commands to check DHCP leases.
Diffstat (limited to 'localshowdhcpleasesfree')
-rwxr-xr-x | localshowdhcpleasesfree | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/localshowdhcpleasesfree b/localshowdhcpleasesfree new file mode 100755 index 0000000..d5ac58e --- /dev/null +++ b/localshowdhcpleasesfree @@ -0,0 +1,29 @@ +#!/usr/bin/perl +# +# /usr/local/sbin/localshowdhcpleasesfree +# Copyright 2015 Jonas Smedegaard <dr@jones.dk> +# +# List free DHCP leases +# +# Depends: isc-dhcp-server libtext-dhcpleases-perl + +use strict; +use warnings; + +use IO::Handle; +use Text::DHCPLeases; + +# silence parsing failures +open NULL, ">", "/dev/null" or die $!; +STDERR->fdopen( \*NULL, 'w' ) or die $!; + +my $leases = Text::DHCPLeases->new ( file => "/var/lib/dhcp/dhcpd.leases" ); +my $objects = $leases->get_objects( binding_state => 'free' ); +my $count; +while ( $objects->next ) { + $count++; +} + +print "$count\n"; + +1; |