check_avastlicense.sh
changeset 6 030a32098005
parent 5 2a870ac68ea9
equal deleted inserted replaced
5:2a870ac68ea9 6:030a32098005
     1 #!/bin/sh -e
       
     2 
       
     3 ME=$0
       
     4 
       
     5 e=3
       
     6 s='UNKNOWN'
       
     7 
       
     8 trap 'trap - EXIT; exit "${e}"' INT QUIT TERM EXIT
       
     9 
       
    10 die() {
       
    11         echo "$ME: $@" >&2
       
    12         exit
       
    13 }
       
    14 
       
    15 
       
    16 FILE='/etc/avast/license.avastlic'
       
    17 # in seconds
       
    18 CRITICAL=$((7*24*60*60))
       
    19 WARNING=$((2*CRITICAL))
       
    20 PATTERN='^UpdateValidThru=[0-9]+'
       
    21 DELIMITER='='
       
    22 NAME='AVASTLICENSE'
       
    23 
       
    24 while getopts "f:w:c:" opt; do
       
    25   case $opt in
       
    26     c)
       
    27         CRITICAL="$OPTARG"
       
    28         ;;
       
    29     d)
       
    30         DELIMITER="$OPTARG"
       
    31         ;;
       
    32     f)
       
    33         FILE="$OPTARG"
       
    34         ;;
       
    35     p)
       
    36         PATTERN="$OPTARG"
       
    37         ;;
       
    38     w)
       
    39         WARNING="$OPTARG"
       
    40         ;;
       
    41   esac
       
    42 done
       
    43 shift $((OPTIND-1))
       
    44 
       
    45 now=$(date +%s)
       
    46 expires=$(grep -E $PATTERN $FILE | cut -d$DELIMITER -f2)
       
    47 
       
    48 [ -n "$expires" ] || die 'Expiry not found!'
       
    49 
       
    50 left=$((expires - now))
       
    51 if [ $left -le $CRITICAL ]; then
       
    52     e=2
       
    53     s='CRITICAL'
       
    54 elif [ $left -le $WARNING ]; then
       
    55     e=1
       
    56     s='WARNING'
       
    57 elif [ $left -gt 0 ]; then
       
    58     e=0
       
    59     s='OK'
       
    60 else
       
    61     die 'this should not happen unless $CRITICAL & $WARNING are negative; this is not supported'
       
    62 fi
       
    63 
       
    64 echo "$NAME $s: file '$FILE' expires at $(date -d @$expires)"