diff options
author | Daniel Baumann <daniel.baumann@open-infrastructure.net> | 2021-08-28 04:43:38 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@open-infrastructure.net> | 2021-08-28 09:20:09 +0000 |
commit | 8b21fa0ce73546a81668a3a4b003ccf597ed5c03 (patch) | |
tree | 9d2058cc93fdcddfcef4056b70cc72d6cb165aac /knot-resolver/bin/kresd-cache-clear | |
parent | Adding irker tools. (diff) | |
download | service-tools-8b21fa0ce73546a81668a3a4b003ccf597ed5c03.tar.xz service-tools-8b21fa0ce73546a81668a3a4b003ccf597ed5c03.zip |
Adding knot-resolver tools.
Signed-off-by: Daniel Baumann <daniel.baumann@open-infrastructure.net>
Diffstat (limited to 'knot-resolver/bin/kresd-cache-clear')
-rwxr-xr-x | knot-resolver/bin/kresd-cache-clear | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/knot-resolver/bin/kresd-cache-clear b/knot-resolver/bin/kresd-cache-clear new file mode 100755 index 0000000..5eadee0 --- /dev/null +++ b/knot-resolver/bin/kresd-cache-clear @@ -0,0 +1,38 @@ +#!/bin/sh + +set -e + +HOSTS="${*}" + +if [ -z "${HOSTS}" ] +then + echo "Usage: ${0} localhost|[HOST1 HOST2 ...]" >&2 + exit 1 +fi + +for HOST in ${HOSTS} +do + case "${HOST}" in + localhost) + NUMBER="$(systemctl | grep -c 'kresd@[0-9].service')" + + for NUMBER in $(seq 1 "${NUMBER}") + do + echo "Flushing localhost, resolver ${NUMBER}" + echo "cache.clear()" | sudo socat - UNIX-CONNECT:/run/knot-resolver/control/"${NUMBER}" + done + ;; + + *) + NUMBER="$(ssh "${HOST}" sudo systemctl | grep -c 'kresd@[0-9].service')" + + for NUMBER in $(seq 1 "${NUMBER}") + do + echo "Flushing ${HOST}, resolver ${NUMBER}" + echo "cache.clear()" | ssh "${HOST}" sudo socat - UNIX-CONNECT:/run/knot-resolver/control/"${NUMBER}" + done + ;; + esac +done + +echo |