Re: Service status
Reindl Harald <[email protected]>
| Newsgroups | gmane.mail.imap.dbmail |
|---|---|
| Organization | the lounge interactive design |
| Message-ID | <[email protected]> |
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 <[email protected]>: >> >> >> 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 <[email protected]>: >>>> >>>> >>>> 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 _______________________________________________ DBmail mailing list [email protected] http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail
dbmail-imapd
(text/plain, 1.7 KB)
#!/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
signature.asc
(application/pgp-signature, 181 B)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iEYEARECAAYFAlYRV5gACgkQhmBjz394AnmhqQCdEXmLrpAX4b/7RQ+MONPtMp74 oxIAn1159ixWe0oHFX5b3C/RCdvSt2gQ =czJj -----END PGP SIGNATURE-----