Am 04.10.2015 um 18:32 schrieb Matt.:
It's wat suits us best, si the way we are going with for about 3 years
now (and more actually).

As you can see there are debian init scripts included so I think Paul
knew what he was doing ;)

3 years :-)

2009-2011 sysvinit
2011-2015 systemd

however, you just need to copy the status function from another sysvint scipt and modify the logic, it's not much more than read the pidfile and look if the process is running

attached the fedora init-script from 2010 extracted from the src.rpm at https://koji.fedoraproject.org/koji/buildinfo?buildID=167533, they had always the status function included


2015-10-04 18:29 GMT+02:00 Reindl Harald <h.rei...@thelounge.net>:


Am 04.10.2015 um 18:04 schrieb Matt.:

This is true for RHEL based distros, but Debian based ones are not
like that yet and also think it's not wise to depend on the OS for
service status, I still like the old fashioned way here.

you are aware that in teh recent Denian systemd ist the default init-system?
"not wise to depend on the OS for service status" - who else than the OS? a
random script reading some textfile and calling wrapped external commands is
not really relieable for a status


2015-10-04 17:52 GMT+02:00 Reindl Harald <h.rei...@thelounge.net>:


Am 04.10.2015 um 17:40 schrieb Matt.:


Has anyone a working status addition to the init script for checking
the service status per service ?

There was some in the .sh scriptf for the 1.x versions but not in th
3.x versions.

Would be nice to see some example as I'm trying something but am not
sure


consider using systemd - the whole conept about status in sysvinit is
broken
by design and just a workaround - why? because sysvinit has and never had
a
solid clue what a service really does

a init system which give relieable status back needs to monitor the
main-PID
and not rely on PID files somewhere, well and it can monitor services and
restart them automatically while a manual stop compared to monit or
similar
tools would not start the service again (and yes dbmail really needs some
monitoring, only the crashes last weekend of our imapd would have been
enough to driving an admin crazy when need to intervention each time)

[root@srv-rhsoft:~]$ systemctl status dbmail-imapd.service
● dbmail-imapd.service - DBMail IMAP Server
     Loaded: loaded (/usr/lib/systemd/system/dbmail-imapd.service;
enabled;
vendor preset: disabled)
     Active: active (running) since Mi 2015-09-30 12:55:27 CEST; 4 days
ago
   Main PID: 8693 (dbmail-imapd)
     CGroup: /system.slice/dbmail-imapd.service
             └─8693 /usr/sbin/dbmail-imapd -D
#!/bin/bash
#
# Startup script for the DBMail Imap Server
#
# chkconfig: - 81 19
# description: DBMail is a mail server with a database backend.
# processname: dbmail-imapd
# pidfile: /var/run/dbmail-imapd.pid
# config: /etc/dbmail.conf
### BEGIN INIT INFO
# Provides:          dbmail-imapd
# Required-Start:    $local_fs $network $syslog
# Should-Start:
# Required-Stop:
# Default-Stop:      0 1 2 6
# Short-Description: Start dbmail-imapd daemon
# Description:       dbmail-imapd is the imap interface to the dbmail system.
### END INIT INFO

# Source function library.
. /etc/rc.d/init.d/functions

DBLIBDIR=/usr/lib/dbmail
export LD_LIBRARY_PATH=$DBLIBDIR:$LD_LIBRARY_PATH

if [ -f /etc/sysconfig/dbmail-imapd ]; then
        . /etc/sysconfig/dbmail-imapd
fi

# Path to the dbmail script.
exe=/usr/sbin/dbmail-imapd
prog=dbmail-imapd
RETVAL=0

start() {
    echo -n $"Starting $prog: "
    daemon $exe
    RETVAL=$?
    echo
    [ $RETVAL -eq  0 ] && touch /var/lock/subsys/$prog
    return $RETVAL
}
stop() {
    echo -n $"Stopping $prog: "
    killproc $exe
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog /var/run/$prog.pid
}
reload() {
    echo -n $"Reloading $prog: "
    killproc $exe -HUP
    RETVAL=$?
    echo
}

# See how we were called.
case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  status)
    status $exe
    RETVAL=$?
    ;;
  restart)
    stop
    start
    RETVAL=$?
    ;;
  condrestart)
    if [ -f /var/run/$prog.pid ] ; then
        stop
        start
    fi
    RETVAL=$?
    ;;
  reload)
    reload
    ;;
  *)
    echo $"Usage: $prog {start|stop|restart|condrestart|reload|status}"
    RETVAL=3 
esac

exit $RETVAL

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
DBmail mailing list
DBmail@dbmail.org
http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail

Reply via email to