X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=dsa-nagios-checks%2Fchecks%2Fdsa-check-dabackup-server;h=a08fec76946a03628250b584a7944fec3312f891;hb=34f07b6cd885520c793bc75db6f74084e65bda52;hp=c4e488466340e3118d9e1f3a4d98449a224630fb;hpb=42e99da9d896a33803e763c746e9a103183b6b34;p=mirror%2Fdsa-nagios.git diff --git a/dsa-nagios-checks/checks/dsa-check-dabackup-server b/dsa-nagios-checks/checks/dsa-check-dabackup-server index c4e4884..a08fec7 100755 --- a/dsa-nagios-checks/checks/dsa-check-dabackup-server +++ b/dsa-nagios-checks/checks/dsa-check-dabackup-server @@ -26,14 +26,16 @@ set -e set -u +AUTHKEYSFILE=/etc/ssh/userkeys/root + err=0 log() { - if [ "$1" == "warn" ] && [ "$err" -lt 1 ]; then + if [ "$1" = "warn" ] && [ "$err" -lt 1 ]; then err=1 - elif [ "$1" == "critical" ] && [ "$err" -lt 2 ]; then + elif [ "$1" = "critical" ] && [ "$err" -lt 2 ]; then err=2 - elif [ "$1" == "unknown" ] && [ "$err" == 0 ]; then + elif [ "$1" = "unknown" ] && [ "$err" = 0 ]; then err=3 fi } @@ -67,12 +69,16 @@ done rsync_targets=`tempfile` backup_manager_sources=`tempfile` trap "rm -f '$rsync_targets' '$backup_manager_sources'" 0 1 2 5 15 -cat /root/.ssh/authorized_keys | +cat "$AUTHKEYSFILE" | grep '^command=' | sed -e 's/",no-por.*//' -e 's/.*--ignore-errors . //' -e 's#/org/backup.debian.org/staging/##' | + grep -v 'command="/usr/lib/da-backup/da-backup-ssh-wrap ' | sort > "$rsync_targets" -grep -h source /etc/da-backup-manager/* | + +wildcard_hosts=`cat "$AUTHKEYSFILE" | grep 'command="/usr/lib/da-backup/da-backup-ssh-wrap ' | sed -e 's/.*da-backup-ssh-wrap \([a-z0-9.]*\)".*/\1/' | tr '\n' '|' | sed 's/|$//'` +grep -h '^source' /etc/da-backup-manager/* | sed -e 's/source=//' | + egrep -v "^($wildcard_hosts)/" | sort > "$backup_manager_sources" if ! diff "$rsync_targets" "$backup_manager_sources" > /dev/null; then log warn