From 8b5abc6375237edd34f26cb6456fb109feff5937 Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Mon, 21 Sep 2015 17:48:25 +0200 Subject: Add commands to check DHCP leases. --- localshowdhcpleases | 13 +++++++++++++ localshowdhcpleasesfree | 29 +++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100755 localshowdhcpleases create mode 100755 localshowdhcpleasesfree 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 +# +# 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 +# +# 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; -- cgit v1.2.3