summaryrefslogtreecommitdiff
path: root/localshowdhcpleasesfree
diff options
context:
space:
mode:
Diffstat (limited to 'localshowdhcpleasesfree')
-rwxr-xr-xlocalshowdhcpleasesfree29
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;