[project @ peter@palfrader.org-20080521083725-xu7h28su83ag3b10]
[mirror/dsa-nagios.git] / dsa-nagios-nrpe-config / debian / cron.daily
index c37e41e..1df8746 100644 (file)
@@ -1,3 +1,45 @@
-#!/bin/sh
+#!/bin/bash
 
 [ -x /usr/share/dsa/weak-ssh-keys-check ] && /usr/share/dsa/weak-ssh-keys-check -s /var/cache/dsa/nagios/weak-ssh-keys
+
+(
+       UPDATE_RUNS=3
+       STATUS=/var/cache/dsa/nagios/apt
+
+       if [ -z "$TERM" -o "$TERM" = "dumb" ]; then
+               sleep $(( $RANDOM % 7200 ))
+       fi
+       count=0
+       while [ "$count" -lt "$UPDATE_RUNS" ]; do
+               apt-get update -qq
+               if [ "$?" = "0" ]; then break; fi
+               sleep $(( $RANDOM % 600 ))
+               count="$(( $count + 1 ))"
+       done
+       if [ "$count" -ge "$UPDATE_RUNS" ]; then
+               (echo "WARNING"
+                echo "apt-get update failed") > "$STATUS"
+                exit 1
+       fi
+
+       set -e
+       tmp=`tempfile`
+       trap "rm -f '$tmp'" exit
+       /usr/share/dsa/apt-status-check > "$tmp"
+       result="$?"
+       case "$result" in
+         0)
+               st="OK"
+               ;;
+         1)
+               st="WARNING"
+               ;;
+         2)
+               st="CRITICAL"
+               ;;
+         *)
+               st="UNKNOWN"
+               ;;
+       esac
+       (echo "$st"; cat "$tmp") > "$STATUS"
+)&