1*4882a593Smuzhiyun#!/bin/sh 2*4882a593Smuzhiyun### BEGIN INIT INFO 3*4882a593Smuzhiyun# Provides: postfix MTA 4*4882a593Smuzhiyun# Default-Start: 2345 5*4882a593Smuzhiyun# Default-Stop: 016 6*4882a593Smuzhiyun# Short-Description: start and stop postfix 7*4882a593Smuzhiyun# Description: Postfix is a Mail Transport Agent, which is the program 8*4882a593Smuzhiyun# that moves mail from one machine to another. 9*4882a593Smuzhiyun### END INIT INFO 10*4882a593Smuzhiyun 11*4882a593Smuzhiyunsuccess() { 12*4882a593Smuzhiyun echo " Successful" 13*4882a593Smuzhiyun exit 0 14*4882a593Smuzhiyun} 15*4882a593Smuzhiyun 16*4882a593Smuzhiyunfail() { 17*4882a593Smuzhiyun echo " Failed" 18*4882a593Smuzhiyun exit 1 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun} 21*4882a593Smuzhiyun 22*4882a593Smuzhiyuncheck_return () { 23*4882a593Smuzhiyun local ret="$1" 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun if [ "$ret" = "0" ]; then 26*4882a593Smuzhiyun success 27*4882a593Smuzhiyun else 28*4882a593Smuzhiyun fail 29*4882a593Smuzhiyun fi 30*4882a593Smuzhiyun} 31*4882a593Smuzhiyun 32*4882a593SmuzhiyunPIDFile=/var/spool/postfix/pid/master.pid 33*4882a593Smuzhiyuncase "$1" in 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun start) 36*4882a593Smuzhiyun echo -n "Starting Postfix..." 37*4882a593Smuzhiyun if [ ! -e /etc/aliases.db ]; then 38*4882a593Smuzhiyun # The alias database is necessary for postfix to work correctly. 39*4882a593Smuzhiyun echo "Creating aliases database ..." 40*4882a593Smuzhiyun newaliases 41*4882a593Smuzhiyun fi 42*4882a593Smuzhiyun if ! postfix status >/dev/null 2>&1; then 43*4882a593Smuzhiyun /usr/sbin/check_hostname.sh 44*4882a593Smuzhiyun postfix start 45*4882a593Smuzhiyun check_return $? 46*4882a593Smuzhiyun else 47*4882a593Smuzhiyun success 48*4882a593Smuzhiyun fi 49*4882a593Smuzhiyun ;; 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun stop) 52*4882a593Smuzhiyun echo -n "Stopping Postfix..." 53*4882a593Smuzhiyun if postfix status >/dev/null 2>&1; then 54*4882a593Smuzhiyun postfix stop 55*4882a593Smuzhiyun check_return $? 56*4882a593Smuzhiyun else 57*4882a593Smuzhiyun success 58*4882a593Smuzhiyun fi 59*4882a593Smuzhiyun ;; 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun reload) 62*4882a593Smuzhiyun echo -n "Reloading Postfix..." 63*4882a593Smuzhiyun if postfix status >/dev/null 2>&1; then 64*4882a593Smuzhiyun postfix reload 65*4882a593Smuzhiyun check_return $? 66*4882a593Smuzhiyun else 67*4882a593Smuzhiyun postfix start 68*4882a593Smuzhiyun check_return $? 69*4882a593Smuzhiyun fi 70*4882a593Smuzhiyun ;; 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun restart) 73*4882a593Smuzhiyun $0 stop 74*4882a593Smuzhiyun sleep 1 75*4882a593Smuzhiyun $0 start 76*4882a593Smuzhiyun ;; 77*4882a593Smuzhiyun 78*4882a593Smuzhiyun status) 79*4882a593Smuzhiyun if postfix status >/dev/null 2>&1; then 80*4882a593Smuzhiyun pid=`sed -e 's/\s//g' $PIDFile` 81*4882a593Smuzhiyun echo "The Postfix mail system is running (PID: $pid)" 82*4882a593Smuzhiyun exit 0 83*4882a593Smuzhiyun else 84*4882a593Smuzhiyun echo "The Postfix mail system is not running" 85*4882a593Smuzhiyun exit 1 86*4882a593Smuzhiyun fi 87*4882a593Smuzhiyun ;; 88*4882a593Smuzhiyun 89*4882a593Smuzhiyun *) 90*4882a593Smuzhiyun echo "Usage: $0 {start|stop|status|reload|restart}" 91*4882a593Smuzhiyun exit 1 92*4882a593Smuzhiyun ;; 93*4882a593Smuzhiyunesac 94*4882a593Smuzhiyun 95