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 | |
parent | a9278c203c978a65a7b07f1df0aec61260627387 (diff) |
Add commands to check DHCP leases.
-rwxr-xr-x | localshowdhcpleases | 13 | ||||
-rwxr-xr-x | localshowdhcpleasesfree | 29 |
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; |