Demo Discussion
Forum Config Examples Contributions Vulnerabilities
  Discussion forum about ELOG  Not logged in ELOG logo
icon5.gif   notification error services in CentOS 6.5, posted by Banata on Tue Jan 13 04:11:33 2015 elogerror.png
    icon2.gif   Re: notification error services in CentOS 6.5, posted by Stefan Ritt on Tue Jan 13 10:07:02 2015 
       icon3.gif   Re: notification error services in CentOS 6.5, posted by Darren Hollinrake on Sun Sep 18 03:31:42 2016 elogd_modified
          icon2.gif   Re: notification error services in CentOS 6.5, posted by Stefan Ritt on Wed Sep 21 17:23:15 2016 
Message ID: 68426     Entry time: Sun Sep 18 03:31:42 2016     In reply to: 67750     Reply to this: 68427
Icon: Idea  Author: Darren Hollinrake  Author Email: hollinrakedp@gmail.com 
Category: Bug fix  OS: Linux  ELOG Version: 3.0.0 
Subject: Re: notification error services in CentOS 6.5 

The quick fix I found was to uncomment line 10 in the init.d file. (This was tested on a CentOS 6.8 AWS instance.)

. /etc/rc.d/init.d/functions

This will allow the status command to function properly.

Clean install:

[centos@ip-172-31-51-59 ~]$ service elogd status
status: invalid option: -p
 

After uncommenting line 10:

[centos@ip-172-31-51-59 ~]$ service elogd status
elogd (pid  11438) is running...

When you start elog it still won't show that the service started successfully (No 'OK'). If you go to stop the service, it will give you the proper 'OK' indicating it stopped successfully.

So to fix the missing 'OK' (or 'FAILED') we need to update the start section around line 51 as follows:

          touch /var/lock/subsys/elogd
        echo_success
        else
        echo_failure
        fi
        echo
        ;;
 

I've attached my modified init file which I believe corrects the above issues. I will say though that I'm not a programmer so I won't guarantee it's perfect. I haven't checked to see if CentOS 7 works with this modified version. Just checked it on a CentOS 7.2 AWS instance and it also appears to function correctly.

[root@oceana ~]# systemctl status elogd
● elogd.service - SYSV: ELOG is a weblog with integrated database
   Loaded: loaded (/etc/rc.d/init.d/elogd)
   Active: active (running) since Sun 2016-09-18 22:35:44 UTC; 7s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 2263 ExecStop=/etc/rc.d/init.d/elogd stop (code=exited, status=0/SUCCESS)
  Process: 2275 ExecStart=/etc/rc.d/init.d/elogd start (code=exited, status=0/SUCCESS)
 Main PID: 2277 (elogd)
   CGroup: /system.slice/elogd.service
           └─2277 /usr/local/sbin/elogd -D -c /usr/local/elog/elogd.cfg

Sep 18 22:35:44 oceana elogd[2277]: elogd 3.1.1 built Aug  4 20...0
Sep 18 22:35:44 oceana elogd[2277]: revision
Sep 18 22:35:44 oceana elogd[2277]: Falling back to default gro..."
Sep 18 22:35:44 oceana elogd[2277]: Falling back to default use..."
Sep 18 22:35:44 oceana elogd[2277]: CKeditor detected
Sep 18 22:35:44 oceana systemd[1]: Started SYSV: ELOG is a webl....
Sep 18 22:35:44 oceana elogd[2279]: Falling back to default gro..."
Sep 18 22:35:44 oceana elogd[2279]: Falling back to default use..."
Sep 18 22:35:44 oceana elogd[2277]: ImageMagick detected
Sep 18 22:35:44 oceana elogd[2277]: SSLServer listening on port....
Hint: Some lines were ellipsized, use -l to show in full.

The old SysV style commands ('service elogd start|stop|status') also function correctly.

[root@oceana ~]# service elogd stop
Stopping elogd (via systemctl):                            [  OK  ]
[root@oceana ~]# service elogd start
Starting elogd (via systemctl):                            [  OK  ]

 

Stefan Ritt wrote:

The init script supplied with elog was originally written for Redhat. It seems like CentOS has slightly changed the init daemon management, but I'm not an expert on that, nor do I have CentOS installed. If somebody comes with a fixed elogd.init for CentOS, I'm happy to include that in the distribution.

/Stefan

Banata wrote:

hello, I just upgrade from 2.9 into 3.0.0 in CentOS 6.5

but after upgrade, I can't check elogd services via command line

service elogd status,

always result in missing argument, while it works with httpd or mysqld services and old elogd version.

I try to uninstall and install rom scratch and same result,

Okay I give you screenshoot of that,

you may notice, on check service status and stopping services, error resulted

 

 

Attachment 1: elogd_modified  1 kB  Uploaded Sun Sep 18 05:18:34 2016  | Hide | Hide all
#!/bin/sh

# chkconfig: 3 90 10
# description: ELOG is a weblog with integrated database
# processname: elogd
# config: /usr/local/elog/elogd.cfg
# pidfile: /var/run/elogd.pid

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

# Check for the config file
if [ ! -f /usr/local/elog/elogd.cfg ]; then
    exit 0
fi


# See how we were called.
case "$1" in
  start)
        if [ -f /var/run/elogd.pid ] ; then
	   pid=`cat /var/run/elogd.pid`
	   if [ -d /proc/$pid ] ; then
	     echo "elogd already running"
	     # echo_failure
	     exit 1
	   fi
	fi
        if [ -f /var/run/elogd.pid ] ; then
           rm -f /var/lock/subsys/elogd
	   rm -f /var/run/elogd.pid
        fi
	echo -n "Starting elogd: "
	/usr/local/sbin/elogd -D -c /usr/local/elog/elogd.cfg  > /dev/null 2>&1 
	RETVAL=$?
        if [ $RETVAL -eq 0  ] ; then 
          touch /var/lock/subsys/elogd
        echo_success
	else
	echo_failure
        fi
	echo
	;;
  stop)
     echo ""
      if [ -f /var/run/elogd.pid ] ; then
        echo -n "Stoping elogd: "
        /bin/kill `cat /var/run/elogd.pid`
        rm -f /var/lock/subsys/elogd
	rm -f /var/run/elogd.pid
        echo_success
        echo
     else
        echo -n "No elogd running?"
	echo
     fi
     
	;;
  status)
     status -p /var/run/elogd.pid /usr/local/sbin/elogd
     RETVAL=$?
        ;;
  restart|reload)
	$0 stop
	sleep 1
	$0 start
	;;
  *)
	echo "Usage: $0 {start|stop|status|restart}"
	exit 1
esac

exit 0

ELOG V3.1.5-fe60aaf