Created
July 10, 2016 18:44
-
-
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/
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Had to include
COUNTER=0 MAXCOUNTER=10before line 20 andwhile (!([ -e $PIDFILE ] && ps -p $(cat $PIDFILE) > /dev/null 2>&1)) && [ $COUNTER -lt $MAXCOUNTER]dosleep 1s$MAXCOUNTER=expr $MAXCOUNTER + 1donebefore line 24 to wait for service to create socket file before checking it.