| #!/sbin/openrc-run |
| # Copyright 1999-2018 Gentoo Authors |
| # Distributed under the terms of the GNU General Public License v2 |
| |
| RSYSLOG_CONFIGFILE=${RSYSLOG_CONFIGFILE:-"/etc/rsyslog.conf"} |
| RSYSLOG_PIDFILE=${RSYSLOG_PIDFILE:-"/run/rsyslogd.pid"} |
| RSYSLOG_SSDARGS=${RSYSLOG_SSDARGS:-"--wait 1000"} |
| RSYSLOG_TERMTIMEOUT=${RSYSLOG_TERMTIMEOUT:-"TERM/60/KILL/5"} |
| RSYSLOG_OPTS=${RSYSLOG_OPTS:-""} |
| |
| command="/usr/sbin/rsyslogd" |
| command_args="${RSYSLOG_OPTS} -f \"${RSYSLOG_CONFIGFILE}\" -i \"${RSYSLOG_PIDFILE}\"" |
| start_stop_daemon_args="${RSYSLOG_SSDARGS}" |
| pidfile="${RSYSLOG_PIDFILE}" |
| retry="${RSYSLOG_TERMTIMEOUT}" |
| |
| required_files="${RSYSLOG_CONFIGFILE}" |
| |
| description="RSYSLOG is the rocket-fast system for log processing (syslog replacement)." |
| |
| extra_commands="configtest" |
| extra_started_commands="rotate" |
| |
| description_configtest="Run rsyslogd's internal config check." |
| |
| description_rotate="Sends rsyslogd a signal to re-open its log files." |
| |
| depend() { |
| need clock hostname localmount |
| provide logger |
| } |
| |
| start_pre() { |
| if [ "${RC_CMD}" != "restart" ]; then |
| configtest || return 1 |
| fi |
| } |
| |
| stop_pre() { |
| if [ "${RC_CMD}" = "restart" ]; then |
| configtest || return 1 |
| fi |
| } |
| |
| stop_post() { |
| if [ -f "${RSYSLOG_PIDFILE}" ]; then |
| vebegin "Removing stale PID file" |
| rm --force "${RSYSLOG_PIDFILE}" |
| veend $? |
| fi |
| } |
| |
| configtest() { |
| local _command_args="-N 999 -f \"${RSYSLOG_CONFIGFILE}\"" |
| local _retval=0 |
| |
| ebegin "Checking rsyslogd's configuration" |
| eval ${command} ${_command_args} >/dev/null 2>&1 |
| _retval=$? |
| |
| if [ ${_retval} -ne 0 ]; then |
| eval ${command} ${_command_args} |
| fi |
| |
| eend ${_retval} "failed, please correct errors above" |
| } |
| |
| rotate() { |
| ebegin "Re-opening rsyslogd logs" |
| start-stop-daemon --signal SIGHUP --pidfile "${RSYSLOG_PIDFILE}" |
| eend $? |
| } |