summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2015-09-21 17:48:25 +0200
committerJonas Smedegaard <dr@jones.dk>2015-09-21 17:48:25 +0200
commit8b5abc6375237edd34f26cb6456fb109feff5937 (patch)
treed2d90f42bb7f6ab9df15043fec671d05056551b7
parenta9278c203c978a65a7b07f1df0aec61260627387 (diff)
Add commands to check DHCP leases.
-rwxr-xr-xlocalshowdhcpleases13
-rwxr-xr-xlocalshowdhcpleasesfree29
2 files changed, 42 insertions, 0 deletions
diff --git a/localshowdhcpleases b/localshowdhcpleases
new file mode 100755
index 0000000..03f8107
--- /dev/null
+++ b/localshowdhcpleases
@@ -0,0 +1,13 @@
+#!/bin/sh
+#
+# /usr/local/sbin/localshowdhcpleases
+# Copyright 2015 Jonas Smedegaard <dr@jones.dk>
+#
+# List active DHCP leases
+#
+# Depends: isc-dhcp-server
+
+set -e
+
+dhcp-lease-list --last --lease /var/lib/dhcp/dhcpd.leases | grep ^..: | sort -k 1.51
+echo >&2 "times are lease expiry in UTC (current UTC time is $(date -u +%T))"
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;