summaryrefslogtreecommitdiffstats
path: root/Reaktor/commands/nag
diff options
context:
space:
mode:
authortv <tv@shackspace.de>2014-07-15 10:57:48 +0200
committertv <tv@shackspace.de>2014-07-15 10:57:48 +0200
commit141401974b683db6ab9be473b634f494c05c5565 (patch)
tree4b0805755675de1ff8638617d5fdcabf6ccf263c /Reaktor/commands/nag
parentd4d3007d446691d5959f8a1f360df0b74a793e1f (diff)
Reaktor commands nag: POC
Diffstat (limited to 'Reaktor/commands/nag')
-rwxr-xr-xReaktor/commands/nag32
1 files changed, 32 insertions, 0 deletions
diff --git a/Reaktor/commands/nag b/Reaktor/commands/nag
new file mode 100755
index 00000000..68035831
--- /dev/null
+++ b/Reaktor/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