Below are Sys V style startup scripts for DBMail 1.x, which doesn't provide PID files. Starting in DBMail 2.0, startup scripts are provided in the contrib/ directory and make use of DBMail 2.0's PID file support. The startup scripts here were written and posted on the list originally, and I don't have records of who wrote them. If you read this, put your name in for credit.
Pay attention to the line that says 'dbmail-dir'. This may be different on your system and should be changed accordingly. Same with sed.
#!/bin/sh
#
# chkconfig: 345 95 25
# description: dbmail pop3 daemon
#
# processname: dbmail-pop3d
#
# Source function library.
. /etc/rc.d/init.d/functions
# Get config.
. /etc/sysconfig/network
# Check that networking is up.
# Pretty much need it for postmaster.
[ ${NETWORKING} = "no" ] && exit 0
PS=/bin/ps
SED=/bin/sed
DBMAIL_DIR=/usr/local
POP3D=dbmail-pop3d
if ! echo "$PATH" | grep -q "$DBMAIL_DIR" ; then
export PATH=$PATH:$DBMAIL_DIR/bin:$DBMAIL_DIR/sbin
fi
# Get current user name
getuser () {
user=
if [ -x /usr/bin/id ]
then
user=`/usr/bin/id -u -n`
fi
}
# main program
getuser
if [ -n "$user" ]
then
if [ "$user" != "root" ]
then
echo "Only root can run this command"; exit 0
fi
else
echo "Can't obtain user name"; exit 0
fi
case $1 in
'start')
pid=`pidof $POP3D`
if [ -n "$pid" ]
then
echo "dbmail pop daemon is already running, PID $pid"
else
$POP3D &
pid=`pidof $POP3D`
if [ -n "$pid" ]
then
echo "dbmail pop daemon started, PID $pid"
else
echo "Can't start dbmail pop daemon client"
fi
fi
;;
'stop')
pid=`pidof $POP3D`
if [ -n "$pid" ]
then
kill $pid
sleep 4
pid=`pidof $POP3D`
if [ -n "$pid" ]
then
echo "dbmail pop daemon not stopped, sending KILL..."
kill -9 $pid
sleep 5
pid=`pidof $POP3D`
fi
if [ -n "$pid" ]
then
echo "dbmail pop daemon NOT stopped"
else
echo "dbmail pop daemon stopped"
fi
else
echo "dbmail pop daemon is not running"
fi
;;
'restart')
$0 stop
$0 start
;;
'status')
pid=`pidof $POP3D`
if [ -n "$pid" ]
then
echo "dbmail pop daemon running, PID $pid"
else
echo "dbmail pop daemon stopped"
fi
;;
*)
echo "Use $0 {start|stop|reload|status}";
;;
esac
#!/bin/sh
#
# chkconfig: 345 95 25
# description: dbmail imap daemon
#
# processname: dbmail-imapd
#
# Source function library.
. /etc/rc.d/init.d/functions
# Get config.
. /etc/sysconfig/network
# Check that networking is up.
# Pretty much need it for postmaster.
[ ${NETWORKING} = "no" ] && exit 0
PS=/bin/ps
SED=/bin/sed
DBMAIL_DIR=/usr/local
IMAPD=dbmail-imapd
DBMAIL_CONF=/etc/dbmail.conf
if ! echo "$PATH" | grep -q "$DBMAIL_DIR" ; then
export PATH=$PATH:$DBMAIL_DIR/bin:$DBMAIL_DIR/sbin
fi
# Get current user name
getuser () {
user=
if [ -x /usr/bin/id ]
then
user=`/usr/bin/id -u -n`
fi
}
# main program
getuser
if [ -n "$user" ]
then
if [ "$user" != "root" ]
then
echo "Only root can run this command"; exit 0
fi
else
echo "Can't obtain user name"; exit 0
fi
case $1 in
'start')
pid=`pidof $IMAPD`
if [ -n "$pid" ]
then
echo "dbmail imap daemon is already running, PID $pid"
else
$IMAPD &
pid=`pidof $IMAPD`
if [ -n "$pid" ]
then
echo "dbmail imap daemon started, PID $pid"
else
echo "Can't start dbmail imap daemon client"
fi
fi
;;
'stop')
pid=`pidof $IMAPD`
if [ -n "$pid" ]
then
kill $pid
sleep 4
pid=`pidof $IMAPD`
if [ -n "$pid" ]
then
echo "dbmail imap daemon not stopped, sending KILL..."
kill -9 $pid
sleep 5
pid=`pidof $IMAPD`
fi
if [ -n "$pid" ]
then
echo "dbmail imap daemon NOT stopped"
else
echo "dbmail imap daemon stopped"
fi
else
echo "dbmail imap daemon is not running"
fi
;;
'restart')
$0 stop
$0 start
;;
'status')
pid=`pidof $IMAPD`
if [ -n "$pid" ]
then
echo "dbmail imap daemon running, PID $pid"
else
echo "dbmail imap daemon stopped"
fi
;;
*)
echo "Use $0 {start|stop|reload|status}";
;;
esac
#!/bin/sh
#
# chkconfig: 345 95 25
# description: dbmail lmtpd daemon
#
# processname: dbmail-lmtpd
#
# Source function library.
. /etc/rc.d/init.d/functions
# Get config.
. /etc/sysconfig/network
# Check that networking is up.
# Pretty much need it for postmaster.
[ ${NETWORKING} = "no" ] && exit 0
PS=/bin/ps
SED=/bin/sed
DBMAIL_DIR=/usr/local
LMTPD=dbmail-lmtpd
DBMAIL_CONF=/etc/dbmail.conf
if ! echo "$PATH" | grep -q "$DBMAIL_DIR" ; then
export PATH=$PATH:$DBMAIL_DIR/bin:$DBMAIL_DIR/sbin
fi
# Get current user name
getuser () {
user=
if [ -x /usr/bin/id ]
then
user=`/usr/bin/id -u -n`
fi
}
# main program
getuser
if [ -n "$user" ]
then
if [ "$user" != "root" ]
then
echo "Only root can run this command"; exit 0
fi
else
echo "Can't obtain user name"; exit 0
fi
case $1 in
'start')
pid=`pidof $LMTPD`
if [ -n "$pid" ]
then
echo "dbmail lmtpd daemon is already running, PID $pid"
else
$LMTPD &
pid=`pidof $LMTPD`
if [ -n "$pid" ]
then
echo "dbmail lmtpd daemon started, PID $pid"
else
echo "Can't start dbmail lmtpd daemon client"
fi
fi
;;
'stop')
pid=`pidof $LMTPD`
if [ -n "$pid" ]
then
kill $pid
sleep 4
pid=`pidof $LMTPD`
if [ -n "$pid" ]
then
echo "dbmail lmtpd daemon not stopped, sending KILL..."
kill -9 $pid
sleep 5
pid=`pidof $LMTPD`
fi
if [ -n "$pid" ]
then
echo "dbmail lmtpd daemon NOT stopped"
else
echo "dbmail lmtpd daemon stopped"
fi
else
echo "dbmail lmtpd daemon is not running"
fi
;;
'restart')
$0 stop
$0 start
;;
'status')
pid=`pidof $LMTPD`
if [ -n "$pid" ]
then
echo "dbmail lmtpd daemon running, PID $pid"
else
echo "dbmail lmtpd daemon stopped"
fi
;;
*)
echo "Use $0 {start|stop|reload|status}";
;;
esac