您最多能選擇 25 個主題 主題必須以字母或數字為開頭,可包含連接號「-」且最長為 35 個字元。
 
 
 
 
 
 

106 行
3.7 KiB

#!@l_prefix@/lib/openpkg/bash @l_prefix@/etc/rc
##
## rc.sendmail -- Run-Commands for Sendmail Daemon
## Copyright (c) 2000-2001 Cable & Wireless Deutschland GmbH
## Copyright (c) 2000-2001 Ralf S. Engelschall <rse@engelschall.com>
##
## Permission to use, copy, modify, and distribute this software for
## any purpose with or without fee is hereby granted, provided that
## the above copyright notice and this permission notice appear in all
## copies.
##
## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
## SUCH DAMAGE.
##
%config
mta_name="sendmail"
mta_aliases_file="@l_prefix@/etc/sendmail/t.aliases"
mta_aliases_update="cd @l_prefix@/etc/sendmail && make t.aliases.db"
sendmail_enable="yes"
sendmail_flags_in="-bd"
sendmail_flags_out="-q60s"
sendmail_flags=""
sendmail_rotate_prolog=""
sendmail_rotate_epilog=""
sendmail_rotate_numfiles="10"
sendmail_rotate_minsize="1M"
sendmail_rotate_complevel="9"
%common
sendmail_start () {
if opServiceEnabled sendmail; then
@l_prefix@/sbin/sendmail $sendmail_flags_in $sendmail_flags \
-OPidFile=@l_prefix@/var/sendmail/sendmail.in.pid
@l_prefix@/sbin/sendmail $sendmail_flags_out $sendmail_flags \
-OPidFile=@l_prefix@/var/sendmail/sendmail.out.pid
fi
}
sendmail_signal () {
if opServiceEnabled sendmail; then
if [ -f @l_prefix@/var/sendmail/sendmail.in.pid ]; then
rpmtool signal -c -d2 \
-p `head -1 @l_prefix@/var/sendmail/sendmail.in.pid` "$@"
fi
if [ -f @l_prefix@/var/sendmail/sendmail.out.pid ]; then
rpmtool signal -c -d2 \
-p `head -1 @l_prefix@/var/sendmail/sendmail.out.pid` "$@"
fi
fi
}
%start -p 200 -u root
sendmail_start
%stop -p 200 -u root
sendmail_signal TERM KILL
%restart -u root
sendmail_signal TERM KILL
sleep 2
sendmail_start
%reload -u root
# sendmail does not like SIGHUP on queue-only processes,
# so we have to perform actually a restart...
sendmail_signal TERM KILL
sleep 2
sendmail_start
%daily -u root
if opServiceEnabled sendmail; then
opTmpDirGen sendmail
opTmpDirFile sendmail hint hintfile
prolog="true"
if [ ".$sendmail_rotate_prolog" != . ]; then
prolog="$prolog; $sendmail_rotate_prolog"
fi
epilog="echo 'epilog' >$hintfile"
if [ ".$sendmail_rotate_epilog" != . ]; then
epilog="$epilog; $sendmail_rotate_epilog"
fi
shtool rotate -f \
-n${sendmail_rotate_numfiles} -s${sendmail_rotate_minsize} \
-d -z${sendmail_rotate_complevel} \
-o@l_fsusr@ -g@l_fsgrp@ -m644 \
-P "$prolog" \
-E "$epilog" \
@l_prefix@/var/sendmail/sendmail.log
if [ ".`cat $hintfile`" = ".epilog" ]; then
sendmail_signal TERM KILL
sleep 2
sendmail_start
fi
opTmpDirDel sendmail
fi