#!/bin/sh
|
### BEGIN INIT INFO
|
# Provides: postfix MTA
|
# Default-Start: 2345
|
# Default-Stop: 016
|
# Short-Description: start and stop postfix
|
# Description: Postfix is a Mail Transport Agent, which is the program
|
# that moves mail from one machine to another.
|
### END INIT INFO
|
|
success() {
|
echo " Successful"
|
exit 0
|
}
|
|
fail() {
|
echo " Failed"
|
exit 1
|
|
}
|
|
check_return () {
|
local ret="$1"
|
|
if [ "$ret" = "0" ]; then
|
success
|
else
|
fail
|
fi
|
}
|
|
PIDFile=/var/spool/postfix/pid/master.pid
|
case "$1" in
|
|
start)
|
echo -n "Starting Postfix..."
|
if [ ! -e /etc/aliases.db ]; then
|
# The alias database is necessary for postfix to work correctly.
|
echo "Creating aliases database ..."
|
newaliases
|
fi
|
if ! postfix status >/dev/null 2>&1; then
|
/usr/sbin/check_hostname.sh
|
postfix start
|
check_return $?
|
else
|
success
|
fi
|
;;
|
|
stop)
|
echo -n "Stopping Postfix..."
|
if postfix status >/dev/null 2>&1; then
|
postfix stop
|
check_return $?
|
else
|
success
|
fi
|
;;
|
|
reload)
|
echo -n "Reloading Postfix..."
|
if postfix status >/dev/null 2>&1; then
|
postfix reload
|
check_return $?
|
else
|
postfix start
|
check_return $?
|
fi
|
;;
|
|
restart)
|
$0 stop
|
sleep 1
|
$0 start
|
;;
|
|
status)
|
if postfix status >/dev/null 2>&1; then
|
pid=`sed -e 's/\s//g' $PIDFile`
|
echo "The Postfix mail system is running (PID: $pid)"
|
exit 0
|
else
|
echo "The Postfix mail system is not running"
|
exit 1
|
fi
|
;;
|
|
*)
|
echo "Usage: $0 {start|stop|status|reload|restart}"
|
exit 1
|
;;
|
esac
|