Skip to content

Instantly share code, notes, and snippets.

Created July 10, 2016 18:44
Show Gist options
  • Select an option

  • Save anonymous/b1744df1533bd59ead8b5d70e2769de3 to your computer and use it in GitHub Desktop.

Select an option

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

micdahl commented Mar 23, 2017

Copy link
Copy Markdown

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