Skip to content

Instantly share code, notes, and snippets.

Created July 10, 2016 18:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/b1744df1533bd59ead8b5d70e2769de3 to your computer and use it in GitHub Desktop.
Save anonymous/b1744df1533bd59ead8b5d70e2769de3 to your computer and use it in GitHub Desktop.
An Upstart LSB Script replacement for the amavisd-milter Systemd-Script in https://thomas-leister.de/sicherer-mailserver-dovecot-postfix-virtuellen-benutzern-mysql-ubuntu-server-xenial/
#!/bin/sh
### BEGIN INIT INFO
# Provides: amavis-milter
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Amavisd Milter
# Description: Milter for Amavis Postfix
### END INIT INFO
# Diese Datei gehört in /etc/init.d/
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="Amavis Milter"
NAME=amavisd-milter
USER=amavis
BINARY=amavisd-milter
BINARY_BIN=/usr/local/sbin
PIDFILE=/var/run/amavis/amavisd-milter.pid
start()
{
su $USER -s /bin/sh -c "$BINARY_BIN/$BINARY -B -p $PIDFILE -w /var/lib/amavis -s /var/run/amavis/amavisd-milter.sock -S /var/run/amavis/amavisd.sock"
if [ -e $PIDFILE ] && ps -p $(cat $PIDFILE) > /dev/null 2>&1; then
chown postfix:postfix /var/run/amavis/amavisd-milter.sock
chmod 0660 /var/run/amavis/amavisd-milter.sock
echo "Started $NAME"
# Amavisd-Milter wurde gestartet
else
echo "Couldn't start $NAME"
# Amavisd-Milter hat keine gültige PID-Datei hinterlegt
fi
}
stop()
{
if [ -e $PIDFILE ] && ps -p $(cat $PIDFILE) > /dev/null 2>&1; then
kill `cat $PIDFILE`
echo "Stopped $NAME"
else
echo "$NAME isn't running"
fi
}
status()
{
if [ -e $PIDFILE ] && ps -p $(cat $PIDFILE) > /dev/null 2>&1; then
echo "$NAME is running:"
echo ps -p $(cat $PIDFILE)
# Die PID ausgeben
else
echo "$NAME isn't running"
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 3
start
;;
status)
status
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
esac
@micdahl
Copy link

micdahl commented Mar 23, 2017

Had to include
COUNTER=0 MAXCOUNTER=10 before line 20 and
while (!([ -e $PIDFILE ] && ps -p $(cat $PIDFILE) > /dev/null 2>&1)) && [ $COUNTER -lt $MAXCOUNTER]
do
sleep 1s
$MAXCOUNTER=expr $MAXCOUNTER + 1
done
before line 24 to wait for service to create socket file before checking it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment