Package: rsyslog Version: 8.24.0-1 Severity: normal Tags: patch Dear Maintainer,
when I change hostname (for example if it is assigned by dhcp), the logs keep appearing with the same name, so this is terrible when logs are being forwarded to a central log machine, because the hostnames don't match. However, rsyslog supports reload (at least, the upstart unit does) and after that, it uses the proper hostname. However the sysvinit script that is provided does not support this feature, so when not using upstart, it is not available. I have made a very simple change to the script to support reload. Best -- System Information: Debian Release: 9.0 APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.9.0-1-amd64 (SMP w/4 CPU cores) Locale: LANG=it_IT.UTF-8, LC_CTYPE=it_IT.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to it_IT.UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages rsyslog depends on: ii init-system-helpers 1.47 ii libc6 2.24-9 ii libestr0 0.1.10-2 ii libfastjson4 0.99.4-1 ii liblogging-stdlog0 1.0.5-2 ii liblognorm5 2.0.1-1.1 ii libsystemd0 232-18 ii libuuid1 2.29.1-1 ii lsb-base 9.20161125 ii zlib1g 1:1.2.8.dfsg-5 Versions of packages rsyslog recommends: ii logrotate 3.11.0-0.1 Versions of packages rsyslog suggests: pn rsyslog-doc <none> pn rsyslog-gnutls <none> pn rsyslog-gssapi <none> pn rsyslog-mongodb <none> pn rsyslog-mysql | rsyslog-pgsql <none> pn rsyslog-relp <none> -- Configuration Files: /etc/init.d/rsyslog changed: PATH=/sbin:/usr/sbin:/bin:/usr/bin DESC="enhanced syslogd" NAME=rsyslog RSYSLOGD=rsyslogd DAEMON=/usr/sbin/rsyslogd PIDFILE=/var/run/rsyslogd.pid SCRIPTNAME=/etc/init.d/$NAME [ -x "$DAEMON" ] || exit 0 [ -r /etc/default/$NAME ] && . /etc/default/$NAME . /lib/lsb/init-functions do_start() { # Return # 0 if daemon has been started # 1 if daemon was already running # other if daemon could not be started or a failure occured start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- $RSYSLOGD_OPTIONS } do_stop() { # Return # 0 if daemon has been stopped # 1 if daemon was already stopped # other if daemon could not be stopped or a failure occurred start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --exec $DAEMON } do_rotate() { start-stop-daemon --stop --signal HUP --quiet --pidfile $PIDFILE --exec $DAEMON } create_xconsole() { XCONSOLE=/dev/xconsole if [ "$(uname -s)" != "Linux" ]; then XCONSOLE=/run/xconsole ln -sf $XCONSOLE /dev/xconsole fi if [ ! -e $XCONSOLE ]; then mknod -m 640 $XCONSOLE p chown root:adm $XCONSOLE [ -x /sbin/restorecon ] && /sbin/restorecon $XCONSOLE fi } sendsigs_omit() { OMITDIR=/run/sendsigs.omit.d mkdir -p $OMITDIR ln -sf $PIDFILE $OMITDIR/rsyslog } case "$1" in start) log_daemon_msg "Starting $DESC" "$RSYSLOGD" create_xconsole do_start case "$?" in 0) sendsigs_omit log_end_msg 0 ;; 1) log_progress_msg "already started" log_end_msg 0 ;; *) log_end_msg 1 ;; esac ;; stop) log_daemon_msg "Stopping $DESC" "$RSYSLOGD" do_stop case "$?" in 0) log_end_msg 0 ;; 1) log_progress_msg "already stopped" log_end_msg 0 ;; *) log_end_msg 1 ;; esac ;; rotate) log_daemon_msg "Closing open files" "$RSYSLOGD" do_rotate log_end_msg $? ;; reload) if test -e $PIDFILE; then kill -HUP $(cat $PIDFILE) else echo "Not running" >&2 exit 1 fi ;; restart|force-reload) $0 stop $0 start ;; try-restart) $0 status >/dev/null 2>&1 && $0 restart ;; status) status_of_proc -p $PIDFILE $DAEMON $RSYSLOGD && exit 0 || exit $? ;; *) echo "Usage: $SCRIPTNAME {start|stop|rotate|restart|reload|force-reload|try-restart|status}" >&2 exit 3 ;; esac : -- no debconf information
>From 0787484528b0b8080783144e81f8dec11db01cca Mon Sep 17 00:00:00 2001 From: Salvo 'LtWorf' Tomaselli <tipos...@tiscali.it> Date: Thu, 23 Feb 2017 11:52:05 +0100 Subject: [PATCH] Add reload support --- debian/rsyslog.init | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/debian/rsyslog.init b/debian/rsyslog.init index 1e5aa32..b80a92a 100644 --- a/debian/rsyslog.init +++ b/debian/rsyslog.init @@ -110,6 +110,14 @@ case "$1" in do_rotate log_end_msg $? ;; + reload) + if test -e $PIDFILE; then + kill -HUP $(cat $PIDFILE) + else + echo "Not running" >&2 + exit 1 + fi + ;; restart|force-reload) $0 stop $0 start @@ -121,7 +129,7 @@ case "$1" in status_of_proc -p $PIDFILE $DAEMON $RSYSLOGD && exit 0 || exit $? ;; *) - echo "Usage: $SCRIPTNAME {start|stop|rotate|restart|force-reload|try-restart|status}" >&2 + echo "Usage: $SCRIPTNAME {start|stop|rotate|restart|reload|force-reload|try-restart|status}" >&2 exit 3 ;; esac -- 2.11.0