summaryrefslogtreecommitdiffstats
path: root/retiolum/bin
diff options
context:
space:
mode:
authortv <tv@also>2011-11-10 01:19:04 +0100
committertv <tv@also>2011-11-10 01:19:04 +0100
commit8ddd371557d626f6586282c3345e3a2a8f7ee487 (patch)
tree99f4574fec61ab0211078d63da0dfd9014850fc3 /retiolum/bin
parent30ec5d0a41d162ebe89a5cff44e12f3153d21fe0 (diff)
//retiolum update: cp tinc-up and restart tincd
This commit updates /etc's tinc-up if it has changed and then restarts tincd. If tinc-up hasn't changed then only HUP and ALRM are sent to the retiolum tincd process.
Diffstat (limited to 'retiolum/bin')
-rwxr-xr-xretiolum/bin/pgrep-retiolum-tincd-args2
-rwxr-xr-xretiolum/bin/restart-tincd14
2 files changed, 16 insertions, 0 deletions
diff --git a/retiolum/bin/pgrep-retiolum-tincd-args b/retiolum/bin/pgrep-retiolum-tincd-args
new file mode 100755
index 00000000..bd0bbc97
--- /dev/null
+++ b/retiolum/bin/pgrep-retiolum-tincd-args
@@ -0,0 +1,2 @@
+#! /bin/sh
+ps -e -o args | grep -E '(^|[ /])tincd +.* (-n +|--net=)retiolum'
diff --git a/retiolum/bin/restart-tincd b/retiolum/bin/restart-tincd
new file mode 100755
index 00000000..17d939d9
--- /dev/null
+++ b/retiolum/bin/restart-tincd
@@ -0,0 +1,14 @@
+#! /bin/sh
+set -xeuf
+
+PATH="$(dirname $(readlink -f "$0"))${PATH+:$PATH}"
+
+if args="`pgrep-retiolum-tincd-args`"; then
+ while $args --kill; do
+ sleep 1
+ done
+ $args
+else
+ echo "$0: there is no retiolum tincd process to restart" >&2
+ exit 23
+fi