--- /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)"