forked from zentralwerk/network
32 lines
872 B
Ruby
32 lines
872 B
Ruby
#!/usr/bin/env ruby
|
|
|
|
require 'date'
|
|
|
|
hostname = `hostname`.strip
|
|
|
|
loop do
|
|
starts = nil
|
|
ends = nil
|
|
count = 0
|
|
|
|
IO::readlines("/var/lib/dhcp/dhcpd.leases").each do |line|
|
|
if line =~ /^lease/
|
|
starts = nil
|
|
ends = nil
|
|
elsif line =~ /starts \d+ (.+?);/
|
|
starts = DateTime.parse $1
|
|
elsif line =~ /ends \d+ (.+?);/
|
|
ends = DateTime.parse $1
|
|
elsif line =~ /^\}/
|
|
now = DateTime.now
|
|
if starts and ends and
|
|
starts <= now and ends >= now
|
|
count += 1
|
|
end
|
|
end
|
|
end
|
|
puts "PUTVAL #{hostname}/dhcpd/leases N:#{count}"
|
|
|
|
sleep 10
|
|
end
|