commit 470427d3cf0424443207773dff5a7fe64c2c8d91 Author: Elan Ruusamäe <g...@pld-linux.org> Date: Fri Feb 9 16:02:41 2018 +0200
pldize initscript collector-sidecar.init | 166 ++++++++++++++++++++--------------------- graylog-collector-sidecar.spec | 20 ++++- 2 files changed, 101 insertions(+), 85 deletions(-) --- diff --git a/graylog-collector-sidecar.spec b/graylog-collector-sidecar.spec index e39ba56..b1da133 100644 --- a/graylog-collector-sidecar.spec +++ b/graylog-collector-sidecar.spec @@ -4,14 +4,18 @@ Summary: Manage log collectors through Graylog Name: graylog-collector-sidecar Version: 0.1.4 -Release: 0.3 +Release: 0.4 License: GPL v3 Group: Applications Source0: https://github.com/Graylog2/collector-sidecar/releases/download/%{version}/collector-sidecar-%{version}.tar.gz # Source0-md5: 8728b5e9310210e91f9a1f5c46160d8d Source1: collector_sidecar.yml +Source2: collector-sidecar.init URL: https://github.com/Graylog2/collector-sidecar +BuildRequires: rpmbuild(macros) >= 1.228 ExclusiveArch: %{ix86} %{x8664} +Requires(post,preun): /sbin/chkconfig +Requires: rc-scripts BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description @@ -34,16 +38,28 @@ cp -p %{SOURCE1} . %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT{%{_sysconfdir}/graylog/collector-sidecar,%{_sbindir}} +install -d $RPM_BUILD_ROOT{%{_sysconfdir}/graylog/collector-sidecar,/etc/rc.d/init.d,%{_sbindir}} install -p graylog-collector-sidecar $RPM_BUILD_ROOT%{_sbindir} cp -p collector_sidecar.yml $RPM_BUILD_ROOT%{_sysconfdir}/graylog/collector-sidecar +install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/collector-sidecar %clean rm -rf $RPM_BUILD_ROOT +%post +/sbin/chkconfig --add collector-sidecar +%service collector-sidecar restart + +%preun +if [ "$1" = "0" ]; then + %service -q collector-sidecar stop + /sbin/chkconfig --del collector-sidecar +fi + %files %defattr(644,root,root,755) %dir %{_sysconfdir}/graylog %dir %{_sysconfdir}/graylog/collector-sidecar %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/graylog/collector-sidecar/collector_sidecar.yml +%attr(754,root,root) /etc/rc.d/init.d/collector-sidecar %attr(755,root,root) %{_sbindir}/graylog-collector-sidecar diff --git a/collector-sidecar.init b/collector-sidecar.init index 0926070..8278bbc 100755 --- a/collector-sidecar.init +++ b/collector-sidecar.init @@ -1,96 +1,96 @@ #!/bin/sh -# For RedHat and cousins: -# chkconfig: - 99 01 +# +# Wrapper service for Graylog controlled collector +# +# chkconfig: 345 99 01 # description: Wrapper service for Graylog controlled collector -# processname: /usr/sbin/graylog-collector-sidecar +# processname: graylog-collector-sidecar +# config: /etc/graylog/collector-sidecar/collector_sidecar.yml +# pidfile: /var/run/collector-sidecar.pid -### BEGIN INIT INFO -# Provides: /usr/sbin/graylog-collector-sidecar -# Required-Start: -# Required-Stop: -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Graylog collector sidecar -# Description: Wrapper service for Graylog controlled collector -### END INIT INFO +# Source function library +. /etc/rc.d/init.d/functions -cmd="/usr/sbin/graylog-collector-sidecar" +# Get network config +. /etc/sysconfig/network -name=$(basename $(readlink -f $0)) -pid_file="/var/run/$name.pid" -stdout_log="/var/log/$name.log" -stderr_log="/var/log/$name.err" +# Check that networking is up. +if is_yes "${NETWORKING}"; then + if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then + msg_network_down "Graylog collector sidecar" + exit 1 + fi +else + exit 0 +fi -[ -e /etc/sysconfig/$name ] && . /etc/sysconfig/$name +# Get service config - may override defaults +[ -f /etc/sysconfig/collector-sidecar ] && . /etc/sysconfig/collector-sidecar -get_pid() { - cat "$pid_file" +pidfile="/var/run/collector-sidecar.pid" + +start() { + # Check if the service is already running? + if [ -f /var/lock/subsys/collector-sidecar ]; then + msg_already_running "Graylog collector sidecar" + return + fi + + msg_starting "Graylog collector sidecar" + daemon --fork --pidfile "$pidfile" --makepid /usr/sbin/graylog-collector-sidecar + RETVAL=$? + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/collector-sidecar } -is_running() { - [ -f "$pid_file" ] && ps $(get_pid) > /dev/null 2>&1 +stop() { + if [ ! -f /var/lock/subsys/collector-sidecar ]; then + msg_not_running "Graylog collector sidecar" + return + fi + + # Stop daemons. + msg_stopping "Graylog collector sidecar" + killproc --pidfile $pidfile graylog-collector-sidecar -TERM + rm -f /var/lock/subsys/collector-sidecar } +condrestart() { + if [ ! -f /var/lock/subsys/collector-sidecar ]; then + msg_not_running "Graylog collector sidecar" + RETVAL=$1 + return + fi + + stop + start +} + +RETVAL=0 +# See how we were called. case "$1" in - start) - if is_running; then - echo "Already started" - else - echo "Starting $name" - - $cmd >> "$stdout_log" 2>> "$stderr_log" & - echo $! > "$pid_file" - if ! is_running; then - echo "Unable to start, see $stdout_log and $stderr_log" - exit 1 - fi - fi - ;; - stop) - if is_running; then - echo -n "Stopping $name.." - kill $(get_pid) - for i in {1..10} - do - if ! is_running; then - break - fi - echo -n "." - sleep 1 - done - echo - if is_running; then - echo "Not stopped; may still be shutting down or shutdown may have failed" - exit 1 - else - echo "Stopped" - if [ -f "$pid_file" ]; then - rm "$pid_file" - fi - fi - else - echo "Not running" - fi - ;; - restart) - $0 stop - if is_running; then - echo "Unable to stop, will not attempt to start" - exit 1 - fi - $0 start - ;; - status) - if is_running; then - echo "Running" - else - echo "Stopped" - exit 1 - fi - ;; - *) - echo "Usage: $0 {start|stop|restart|status}" - exit 1 - ;; + start) + start + ;; + stop) + stop + ;; + restart) + stop + start + ;; + try-restart) + condrestart 0 + ;; + force-reload) + condrestart 7 + ;; + status) + status --pidfile $pidfile collector-sidecar graylog-collector-sidecar + RETVAL=$? + ;; + *) + msg_usage "$0 {start|stop|restart|try-restart|force-reload|status}" + exit 3 esac -exit 0 + +exit $RETVAL ================================================================ ---- gitweb: http://git.pld-linux.org/gitweb.cgi/packages/graylog-collector-sidecar.git/commitdiff/fed25cf8d4e33ceb06c146b8511bcf43a95b8439 _______________________________________________ pld-cvs-commit mailing list pld-cvs-commit@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit