diff -r 000000000000 -r b6e0cc8761df check_avastlicense.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/check_avastlicense.sh Mon May 23 14:56:27 2016 +0200 @@ -0,0 +1,64 @@ +#!/bin/sh -e + +ME=$0 + +e=3 +s='UNKNOWN' + +trap 'trap - EXIT; exit "${e}"' INT QUIT TERM EXIT + +die() { + echo "$ME: $@" >&2 + exit +} + + +FILE='/etc/avast/license.avastlic' +# in seconds +CRITICAL=$((7*24*60*60)) +WARNING=$((2*CRITICAL)) +PATTERN='^UpdateValidThru=[0-9]+' +DELIMITER='=' +NAME='AVASTLICENSE' + +while getopts "f:w:c:" opt; do + case $opt in + c) + CRITICAL="$OPTARG" + ;; + d) + DELIMITER="$OPTARG" + ;; + f) + FILE="$OPTARG" + ;; + p) + PATTERN="$OPTARG" + ;; + w) + WARNING="$OPTARG" + ;; + esac +done +shift $((OPTIND-1)) + +now=$(date +%s) +expires=$(grep -E $PATTERN $FILE | cut -d$DELIMITER -f2) + +[ -n "$expires" ] || die 'Expiry not found!' + +left=$((expires - now)) +if [ $left -le $CRITICAL ]; then + e=2 + s='CRITICAL' +elif [ $left -le $WARNING ]; then + e=1 + s='WARNING' +elif [ $left -gt 0 ]; then + e=0 + s='OK' +else + die 'this should not happen unless $CRITICAL & $WARNING are negative; this is not supported' +fi + +echo "$NAME $s: file '$FILE' expires at $(date -d @$expires)"