Created
June 12, 2016 18:12
-
-
Save alexh-name/0dc5dfe51d33b0214d6d601955f7b77b to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# Copy from http://www.lifewithqmail.org/ by Dave Sill, 30 November 2007 | |
# License: "Life with qmail is covered by the OpenContent License, version 1.0. See http://www.opencontent.org/opl.shtml for the full license. Basically, you can copy, redistribute, or modify Life with qmail provided that modified versions, if redistributed, are also covered by the OpenContent License." | |
# https://web.archive.org/web/19981206111937/http://www.opencontent.org/opl.shtml | |
# or https://gist.github.com/alexh-name/ee2a9003039a284766f9ddd43a26e91b | |
# I slightly changed it. Alex H., 2016. | |
# For Red Hat chkconfig | |
# chkconfig: - 80 30 | |
# description: the qmail MTA | |
PATH=/var/qmail/bin:/bin:/usr/bin:/usr/local/bin:/usr/local/sbin | |
export PATH | |
QMAILDUID=$(id -u qmaild) | |
NOFILESGID=$(id -g qmaild) | |
case "$1" in | |
start) | |
echo "Starting qmail" | |
if svok /service/qmail-send ; then | |
svc -u /service/qmail-send /service/qmail-send/log | |
else | |
echo "qmail-send supervise not running" | |
fi | |
if svok /service/qmail-smtpd ; then | |
svc -u /service/qmail-smtpd /service/qmail-smtpd/log | |
else | |
echo "qmail-smtpd supervise not running" | |
fi | |
if svok /service/qmail-submission ; then | |
svc -u /service/qmail-submission /service/qmail-submission/log | |
else | |
echo "qmail-submission supervise not running" | |
fi | |
if [ -d /var/lock/subsys ]; then | |
touch /var/lock/subsys/qmail | |
fi | |
;; | |
stop) | |
echo "Stopping qmail..." | |
echo " qmail-submission" | |
svc -d /service/qmail-submission /service/qmail-submission/log | |
echo " qmail-smtpd" | |
svc -d /service/qmail-smtpd /service/qmail-smtpd/log | |
echo " qmail-send" | |
svc -d /service/qmail-send /service/qmail-send/log | |
if [ -f /var/lock/subsys/qmail ]; then | |
rm /var/lock/subsys/qmail | |
fi | |
;; | |
stat) | |
svstat /service/qmail-send | |
svstat /service/qmail-send/log | |
svstat /service/qmail-smtpd | |
svstat /service/qmail-smtpd/log | |
svstat /service/qmail-submission | |
svstat /service/qmail-submission/log | |
qmail-qstat | |
;; | |
doqueue|alrm|flush) | |
echo "Flushing timeout table and sending ALRM signal to qmail-send." | |
/var/qmail/bin/qmail-tcpok | |
svc -a /service/qmail-send | |
;; | |
queue) | |
qmail-qstat | |
qmail-qread | |
;; | |
reload|hup) | |
echo "Sending HUP signal to qmail-send." | |
svc -h /service/qmail-send | |
;; | |
pause) | |
echo "Pausing qmail-send" | |
svc -p /service/qmail-send | |
echo "Pausing qmail-smtpd" | |
svc -p /service/qmail-smtpd | |
echo "Pausing qmail-submission" | |
svc -p /service/qmail-submission | |
;; | |
cont) | |
echo "Continuing qmail-send" | |
svc -c /service/qmail-send | |
echo "Continuing qmail-smtpd" | |
svc -c /service/qmail-smtpd | |
echo "Continuing qmail-submission" | |
svc -c /service/qmail-submission | |
;; | |
restart) | |
echo "Restarting qmail:" | |
echo "* Stopping qmail-submission." | |
svc -d /service/qmail-submission /service/qmail-submission/log | |
echo "* Stopping qmail-smtpd." | |
svc -d /service/qmail-smtpd /service/qmail-smtpd/log | |
echo "* Sending qmail-send SIGTERM and restarting." | |
svc -t /service/qmail-send /service/qmail-send/log | |
echo "* Restarting qmail-smtpd." | |
svc -u /service/qmail-smtpd /service/qmail-smtpd/log | |
echo "* Restarting qmail-submission." | |
svc -u /service/qmail-submission /service/qmail-submission/log | |
;; | |
cdb) | |
tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp | |
chmod 644 /etc/tcp.smtp.cdb | |
echo "Reloaded /etc/tcp.smtp." | |
;; | |
help) | |
cat <<HELP | |
stop -- stops mail service (smtp connections refused, nothing goes out) | |
start -- starts mail service (smtp connection accepted, mail can go out) | |
pause -- temporarily stops mail service (connections accepted, nothing leaves) | |
cont -- continues paused mail service | |
stat -- displays status of mail service | |
cdb -- rebuild the tcpserver cdb file for smtp | |
restart -- stops and restarts smtp, sends qmail-send a TERM & restarts it | |
doqueue -- schedules queued messages for immediate delivery | |
reload -- sends qmail-send HUP, rereading locals and virtualdomains | |
queue -- shows status of queue | |
alrm -- same as doqueue | |
flush -- same as doqueue | |
hup -- same as reload | |
HELP | |
;; | |
*) | |
echo "Usage: $0 {start|stop|restart|doqueue|flush|reload|stat|pause|cont|cdb|queue|help}" | |
exit 1 | |
;; | |
esac | |
exit 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment