| #!/bin/bash |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| . /etc/rc.d/init.d/functions |
| |
| |
| . /etc/sysconfig/network |
| |
| RETVAL=0 |
| prog="postfix" |
| lockfile=/var/lock/subsys/$prog |
| pidfile=/var/spool/postfix/pid/master.pid |
| |
| ALIASESDB_STAMP=/var/lib/misc/postfix.aliasesdb-stamp |
| |
| |
| CHROOT_UPDATE=/etc/postfix/chroot-update |
| |
| status -p $pidfile -l $(basename $lockfile) 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 |
| } |
| |
| make_aliasesdb() { |
| if [ "$(/usr/sbin/postconf -h alias_database)" == "hash:/etc/aliases" ] |
| then |
| |
| |
| [ /etc/aliases -nt /etc/aliases.db ] || |
| [ "$ALIASESDB_STAMP" -nt /etc/aliases.db ] || |
| [ "$ALIASESDB_STAMP" -ot /etc/aliases.db ] || return |
| /usr/bin/newaliases |
| touch -r /etc/aliases.db "$ALIASESDB_STAMP" |
| else |
| /usr/bin/newaliases |
| fi |
| } |
| |
| start() { |
| [ "$EUID" != "0" ] && exit 4 |
| |
| [ ${NETWORKING} = "no" ] && exit 1 |
| conf_check |
| |
| echo -n $"Starting postfix: " |
| make_aliasesdb >/dev/null 2>&1 |
| [ -x $CHROOT_UPDATE ] && $CHROOT_UPDATE |
| /usr/sbin/postfix start 2>/dev/null 1>&2 && success || failure $"$prog start" |
| RETVAL=$? |
| [ $RETVAL -eq 0 ] && touch $lockfile |
| echo |
| return $RETVAL |
| } |
| |
| stop() { |
| [ "$EUID" != "0" ] && exit 4 |
| conf_check |
| |
| echo -n $"Shutting down postfix: " |
| /usr/sbin/postfix stop 2>/dev/null 1>&2 && success || failure $"$prog stop" |
| RETVAL=$? |
| [ $RETVAL -eq 0 ] && rm -f $lockfile $pidfile |
| echo |
| return $RETVAL |
| } |
| |
| reload() { |
| conf_check |
| echo -n $"Reloading postfix: " |
| [ -x $CHROOT_UPDATE ] && $CHROOT_UPDATE |
| /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 $? |
| } |
| |
| |
| 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 -p $pidfile -l $(basename $lockfile) 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 $? |