added pid file support and timelimit
This commit is contained in:
parent
438a504c7f
commit
aa4f376900
|
@ -1,5 +1,8 @@
|
||||||
#! /usr/bin/env bash
|
#! /usr/bin/env bash
|
||||||
|
|
||||||
|
# PID file
|
||||||
|
PID_FILE="/run/ffhb-update-dns.pid"
|
||||||
|
|
||||||
# getting workingdir of scripts
|
# getting workingdir of scripts
|
||||||
WORK_DIR="$(dirname $(readlink -nf $0))"
|
WORK_DIR="$(dirname $(readlink -nf $0))"
|
||||||
|
|
||||||
|
@ -22,13 +25,21 @@ fi
|
||||||
ZONEFILE=/var/cache/bind/ffhb.nodes.zone
|
ZONEFILE=/var/cache/bind/ffhb.nodes.zone
|
||||||
RZONEFILE=/var/cache/bind/arpa.ip6.f.d.2.f.5.1.1.9.0.f.2.c.zone
|
RZONEFILE=/var/cache/bind/arpa.ip6.f.d.2.f.5.1.1.9.0.f.2.c.zone
|
||||||
|
|
||||||
|
# write run file
|
||||||
|
if [ -f "$PID_FILE" ]; then
|
||||||
|
echo "Script already running!" >&2
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
touch "$PID_FILE"
|
||||||
|
fi
|
||||||
|
|
||||||
# loop until data received
|
# loop until data received
|
||||||
while true; do
|
while true; do
|
||||||
# increment counter
|
# increment counter
|
||||||
NUM=$(($NUM+1))
|
NUM=$(($NUM+1))
|
||||||
|
|
||||||
# get data from alfred
|
# get data from alfred
|
||||||
alfred-json -z -r 158 > "$TMP_FILE" 2>/dev/null
|
timeout -s KILL 30s alfred-json -z -r 158 >"$TMP_FILE" 2>/dev/null
|
||||||
|
|
||||||
# on success leave loop
|
# on success leave loop
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
|
@ -63,3 +74,6 @@ rndc reload >/dev/null
|
||||||
|
|
||||||
# remove tmp file
|
# remove tmp file
|
||||||
rm -f "$TMP_FILE"
|
rm -f "$TMP_FILE"
|
||||||
|
|
||||||
|
# remove PID file
|
||||||
|
rm -f "$PID_FILE"
|
||||||
|
|
Loading…
Reference in New Issue