might work now
This commit is contained in:
@@ -1,5 +1,70 @@
|
||||
#!/bin/bash
|
||||
POSTFIX='/usr/sbin/postfix'
|
||||
MONITOR_INTERVAL=10 # seconds
|
||||
|
||||
echo "postfix starting..."
|
||||
exec 2>&1
|
||||
|
||||
exec /usr/lib/postfix/master
|
||||
if [[ ! -d /state/envdir ]]; then
|
||||
mkdir -p /state/envdir
|
||||
chown mastodon:mastodon /state/envdir
|
||||
fi
|
||||
|
||||
if [[ ! -e /state/envdir/WEB_DOMAIN ]]; then
|
||||
if [[ -n "$WEB_DOMAIN" ]]; then
|
||||
echo "$WEB_DOMAIN" > /state/envdir/WEB_DOMAIN
|
||||
else
|
||||
hostname --fqdn > /state/envdir/WEB_DOMAIN
|
||||
fi
|
||||
chown mastodon:mastodon /state/envdir/*
|
||||
fi
|
||||
|
||||
cat /etc/postfix/main.cf | grep -v '^myhostname' > /etc/postfix/main.new
|
||||
rm /etc/postfix/main.cf
|
||||
echo "myhostname = $(cat /state/envdir/WEB_DOMAIN)" >> /etc/postfix/main.cf
|
||||
echo "myorigin = $(cat /state/envdir/WEB_DOMAIN)" >> /etc/postfix/main.cf
|
||||
cat /etc/postfix/main.new >> /etc/postfix/main.cf
|
||||
rm /etc/postfix/main.new
|
||||
|
||||
running() {
|
||||
pkill -0 master
|
||||
}
|
||||
|
||||
start() {
|
||||
echo "postfix starting..."
|
||||
/etc/init.d/postfix start
|
||||
}
|
||||
|
||||
stop() {
|
||||
if running; then
|
||||
echo Stopping
|
||||
/etc/init.d/postfix stop
|
||||
fi
|
||||
}
|
||||
|
||||
reload() {
|
||||
echo Reloading
|
||||
/etc/init.d/postfix reload
|
||||
}
|
||||
|
||||
check() {
|
||||
echo Checking
|
||||
"$POSTFIX" check
|
||||
}
|
||||
|
||||
status() {
|
||||
"$POSTFIX" status
|
||||
}
|
||||
|
||||
|
||||
trap 'echo INT; stop; exit' INT
|
||||
trap 'echo QUIT; stop; exit' QUIT
|
||||
trap 'echo TERM; stop; exit' TERM
|
||||
trap 'echo STOP; stop' STOP
|
||||
trap 'echo HUP; reload' HUP
|
||||
trap 'echo USR1; check' USR1
|
||||
trap 'echo USR2; status' USR2
|
||||
|
||||
while :; do
|
||||
running || start
|
||||
sleep $MONITOR_INTERVAL
|
||||
done
|
||||
|
||||
Reference in New Issue
Block a user