equal
deleted
inserted
replaced
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)" |
|