139 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			139 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/bin/bash
 | |
| #
 | |
| # postfix      Postfix Mail Transfer Agent
 | |
| #
 | |
| # chkconfig: - 80 30
 | |
| # description: Postfix is a Mail Transport Agent, which is the program \
 | |
| #              that moves mail from one machine to another.
 | |
| # processname: master
 | |
| # pidfile: /var/spool/postfix/pid/master.pid
 | |
| # config: /etc/postfix/main.cf
 | |
| # config: /etc/postfix/master.cf
 | |
| #
 | |
| # Based on startup script from Simon J Mudd <sjmudd@pobox.com>
 | |
| # 25/02/99: Mostly s/sendmail/postfix/g by John A. Martin <jam@jamux.com>
 | |
| # 23/11/00: Changes & suggestions by Ajay Ramaswamy <ajayr@bigfoot.com>
 | |
| # 20/01/01: Changes to fall in line with RedHat 7.0 style
 | |
| # 23/02/01: Fix a few untidy problems with help from Daniel Roesen.
 | |
| 
 | |
| ### BEGIN INIT INFO
 | |
| # Provides: postfix MTA
 | |
| # Required-Start: $local_fs $network $remote_fs
 | |
| # Required-Stop: $local_fs $network $remote_fs
 | |
| # 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
 | |
| 
 | |
| # Source function library.
 | |
| . /etc/rc.d/init.d/functions
 | |
| 
 | |
| # Source networking configuration.
 | |
| . /etc/sysconfig/network
 | |
| 
 | |
| RETVAL=0
 | |
| prog="postfix"
 | |
| 
 | |
| status master >/dev/null 2>&1
 | |
| running=$?
 | |
| 
 | |
| conf_check() {
 | |
|     [ -x /usr/sbin/postfix ] || exit 5
 | |
|     [ -d /etc/postfix ] || exit 6
 | |
|     [ -d /var/spool/postfix ] || exit 5
 | |
| }
 | |
| 
 | |
| start() {
 | |
| 	# Check that networking is up.
 | |
| 	[ ${NETWORKING} = "no" ] && exit 1
 | |
| 	conf_check
 | |
| 	# Start daemons.
 | |
| 	echo -n $"Starting postfix: "
 | |
|         /usr/bin/newaliases >/dev/null 2>&1
 | |
| 	/usr/sbin/postfix start 2>/dev/null 1>&2 && success || failure $"$prog start"
 | |
| 	RETVAL=$?
 | |
| 	[ $RETVAL -eq 0 ] && touch /var/lock/subsys/postfix
 | |
|         echo
 | |
| 	return $RETVAL
 | |
| }
 | |
| 
 | |
| stop() {
 | |
| 	conf_check
 | |
|         # Stop daemons.
 | |
| 	echo -n $"Shutting down postfix: "
 | |
| 	/usr/sbin/postfix stop 2>/dev/null 1>&2 && success || failure $"$prog stop"
 | |
| 	RETVAL=$?
 | |
| 	[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/postfix
 | |
| 	echo
 | |
| 	return $RETVAL
 | |
| }
 | |
| 
 | |
| reload() {
 | |
| 	conf_check
 | |
| 	echo -n $"Reloading postfix: "
 | |
| 	/usr/sbin/postfix reload 2>/dev/null 1>&2 && success || failure $"$prog reload"
 | |
| 	RETVAL=$?
 | |
| 	echo
 | |
| 	return $RETVAL
 | |
| }
 | |
| 
 | |
| abort() {
 | |
| 	conf_check
 | |
| 	/usr/sbin/postfix abort 2>/dev/null 1>&2 && success || failure $"$prog abort"
 | |
| 	return $?
 | |
| }
 | |
| 
 | |
| flush() {
 | |
| 	conf_check
 | |
| 	/usr/sbin/postfix flush 2>/dev/null 1>&2 && success || failure $"$prog flush"
 | |
| 	return $?
 | |
| }
 | |
| 
 | |
| check() {
 | |
| 	conf_check
 | |
| 	/usr/sbin/postfix check 2>/dev/null 1>&2 && success || failure $"$prog check"
 | |
| 	return $?
 | |
| }
 | |
| 
 | |
| # See how we were called.
 | |
| case "$1" in
 | |
|   start)
 | |
| 	[ $running -eq 0 ] && exit 0
 | |
| 	start
 | |
| 	;;
 | |
|   stop)
 | |
| 	[ $running -eq 0 ] || exit 0
 | |
| 	stop
 | |
| 	;;
 | |
|   restart|force-reload)
 | |
| 	stop
 | |
| 	start
 | |
| 	;;
 | |
|   reload)
 | |
| 	[ $running -eq 0 ] || exit 7
 | |
| 	reload
 | |
| 	;;
 | |
|   abort)
 | |
| 	abort
 | |
| 	;;
 | |
|   flush)
 | |
| 	flush
 | |
| 	;;
 | |
|   check)
 | |
| 	check
 | |
| 	;;
 | |
|   status)
 | |
|   	status master
 | |
| 	;;
 | |
|   condrestart)
 | |
| 	[ $running -eq 0 ] || exit 0
 | |
| 	stop
 | |
| 	start
 | |
| 	;;
 | |
|   *)
 | |
| 	echo $"Usage: $0 {start|stop|restart|reload|abort|flush|check|status|condrestart}"
 | |
| 	exit 2
 | |
| esac
 | |
| 
 | |
| exit $?
 |