diff options
Diffstat (limited to 'abs/extra-testing/postfix/postfix')
-rwxr-xr-x | abs/extra-testing/postfix/postfix | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/abs/extra-testing/postfix/postfix b/abs/extra-testing/postfix/postfix new file mode 100755 index 0000000..37dd6a8 --- /dev/null +++ b/abs/extra-testing/postfix/postfix @@ -0,0 +1,58 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pgrep -f /usr/lib/postfix/master` + +start() { + stat_busy "Starting Postfix" + [ -z "$PID" ] && /usr/sbin/postfix start &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon postfix + stat_done + fi +} + +stop() { + stat_busy "Stopping Postfix" + [ ! -z "$PID" ] && /usr/sbin/postfix stop &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon postfix + stat_done + fi +} + +reload() { + stat_busy "Reloading Postfix" + [ ! -z "$PID" ] && kill -HUP $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + stat_done + fi +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart) + # calling 'stop' and 'start' without the $0 fails... + $0 stop + $0 start + ;; + reload) + reload + ;; + *) + echo "usage: $0 {start|stop|restart|reload}" +esac +exit 0 |