#!/bin/bash set -e NAME="RSPAMD" CLAMAV="clamav" WAIT=15 TRIES=5 function stop { echo "Stopping ${NAME}" kill $(cat /var/run/rspamd.pid) } trap 'stop' SIGTERM if [ "$1" == "start" ]; then x=0; until ping -c1 ${CLAMAV} &>/dev/null; do echo "Waiting for [${CLAMAV}]..."; let x=$x+1; if [ $x -ge ${TRIES} ]; then NOTON=1; break; fi ; sleep ${WAIT}; done ; [ -n "${NOTON}" ] && echo "No [${CLAMAV}]?" && exit 1 [ -x /usr/bin/rspamd ] && exec /usr/bin/rspamd -u _rspamd -g _rspamd -c /etc/rspamd/rspamd.conf -f -p /var/run/rspamd.pid & wait else exec $@ fi