diff options
Diffstat (limited to 'commands')
-rwxr-xr-x | commands/nag | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/commands/nag b/commands/nag new file mode 100755 index 0000000..6803583 --- /dev/null +++ b/commands/nag @@ -0,0 +1,32 @@ +#! /bin/sh +set -euf + +cd "$workdir" + +if test -e nag.hosts; then + echo "nag seems to run already... if not, then delete $workdir/nag.*, please" + exit 23 +fi + +trap 'rm -f nag.hosts nag.services nag.patch' EXIT INT QUIT + +(cd "$hostsdir" && ls | sort) > nag.hosts +(cd "$servicesdir" && ls | sort) > nag.services + +diff -u nag.hosts nag.services > nag.patch || : + +missing_services=$(sed -n '1d;2d;s/^-\(.*\)/\1/p' nag.patch | tr '\n' ' ') +superfluous_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 "$superfluous_services"; then + echo superfluous services: $superfluous_services +fi +if test -z "$missing_services$superfluous_services"; then + echo hosts and services are in sync +fi |