#! /bin/sh set -euf if test -e nag.hosts.ls; then echo "nag seems to run already... if not, then delete $workdir/nag.*, please" exit 23 fi trap 'rm -f nag.hosts.ls nag.services.ls nag.patch' EXIT INT QUIT if ! test -d nag.hosts; then git clone "$hosts_repo" nag.hosts else (cd nag.hosts && git pull) | grep -v 'Already up-to-date.' fi if ! test -d nag.services; then git clone "$services_repo" nag.services else (cd nag.services && git pull) | grep -v 'Already up-to-date.' fi (cd nag.hosts && ls | sort) > nag.hosts.ls (cd nag.services && ls | sort) > nag.services.ls diff -u nag.hosts.ls nag.services.ls > nag.patch || : missing_services=$(sed -n '1d;2d;s/^-\(.*\)/\1/p' nag.patch | tr '\n' ' ') obsolete_services=$(sed -n '1d;2d;s/^+\(.*\)/\1/p' nag.patch | tr '\n' ' ') # # output # if test -n "$missing_services"; then echo missing services: $missing_services fi if test -n "$obsolete_services"; then echo obsolete services: $obsolete_services fi