26 lines
979 B
Bash
Executable file
26 lines
979 B
Bash
Executable file
#!/bin/bash
|
|
# Run inside merchant container (as root).
|
|
# Restarts taler-merchant-wirewatch when it exits.
|
|
# Without systemd, wirewatch exits on PG config NOTIFY and would stay down.
|
|
set +e
|
|
LOG=/var/log/taler-merchant/wirewatch-supervise.log
|
|
WW_LOG=/var/log/taler-merchant/wirewatch.log
|
|
CONF="${TALER_MERCHANT_CONFIG:-/etc/taler-merchant/taler-merchant.conf}"
|
|
mkdir -p /var/log/taler-merchant
|
|
echo "$(date -u +%FT%TZ) supervise start" >>"$LOG"
|
|
for p in $(ps -eo pid=,args= | awk '$2=="/usr/bin/taler-merchant-wirewatch"{print $1}'); do
|
|
kill "$p" 2>/dev/null || true
|
|
done
|
|
sleep 1
|
|
while true; do
|
|
echo "$(date -u +%FT%TZ) start wirewatch" >>"$LOG"
|
|
if [ "$(id -un)" = "root" ]; then
|
|
runuser -u taler-merchant-httpd -- /usr/bin/taler-merchant-wirewatch -c "$CONF" -L INFO >>"$WW_LOG" 2>&1
|
|
ec=$?
|
|
else
|
|
/usr/bin/taler-merchant-wirewatch -c "$CONF" -L INFO >>"$WW_LOG" 2>&1
|
|
ec=$?
|
|
fi
|
|
echo "$(date -u +%FT%TZ) wirewatch exit=$ec; sleep 2" >>"$LOG"
|
|
sleep 2
|
|
done
|