39 lines
979 B
Bash
Executable file
39 lines
979 B
Bash
Executable file
#!/bin/sh
|
|
#
|
|
# bkctld(8) - NRPE check
|
|
#
|
|
# Copyright (c) 2017 Victor Laborie <vlaborie@evolix.fr>
|
|
#
|
|
|
|
[ -f /etc/default/bkctld ] && . /etc/default/bkctld
|
|
|
|
[ -z "$JAILDIR" ] && JAILDIR="/backup/jails"
|
|
|
|
[ -z "$CRITICAL" ] && CRITICAL=48
|
|
[ -z "$WARNING" ] && WARNING=24
|
|
|
|
cur_time=$(date "+%s")
|
|
return=0
|
|
|
|
jails=$(ls "$JAILDIR")
|
|
for jail in $jails; do
|
|
if [ -f "$JAILDIR/$jail/var/log/lastlog" ]; then
|
|
last_conn=$(stat --format=%Y "$JAILDIR/$jail/var/log/lastlog")
|
|
date_diff=$(( ( $cur_time - $last_conn ) / (60*60) ))
|
|
if [ "$date_diff" -gt "$CRITICAL" ]; then
|
|
echo "CRITICAL - $jail - $date_diff hours"
|
|
return=2
|
|
elif [ "$date_diff" -gt "$WARNING" ]; then
|
|
echo "WARNING - $jail - $date_diff hours"
|
|
[ "$return" -ne 2 ] && return=1
|
|
fi
|
|
else
|
|
echo "CRITICAL - $jail doesn't have lastlog !"
|
|
return=2
|
|
fi
|
|
done
|
|
|
|
[ "$return" -eq 0 ] && echo "OK - Nothing to signal"
|
|
|
|
exit "$return"
|