#! /bin/sh # # This is an init script for openembedded # Copy it to /etc/init.d/rsyslog and type # > update-rc.d rsyslog defaults 5 # PATH=/sbin:/usr/sbin:/bin:/usr/bin NAME=rsyslog RSYSLOGD=rsyslogd RSYSLOGD_BIN=/usr/sbin/rsyslogd RSYSLOGD_OPTIONS="" RSYSLOGD_PIDFILE=/var/run/rsyslogd.pid SCRIPTNAME=/etc/init.d/$NAME # Exit if the package is not installed [ -x "$RSYSLOGD_BIN" ] || exit 0 # Read configuration variable file if it is present [ -r /etc/default/$NAME ] && . /etc/default/$NAME # # Function that starts the daemon/service # do_start() { DAEMON=$1 DAEMON_ARGS=$2 PIDFILE=$3 # Return # 0 if daemon has been started # 1 if daemon could not be started # if daemon had already been started, start-stop-daemon will return 1 # so add -o/--oknodo(if nothing is done, exit 0) start-stop-daemon -S --quiet --pidfile $PIDFILE --exec $DAEMON \ --oknodo -- $DAEMON_ARGS || return 1 } # # Function that stops the daemon/service # do_stop() { NAME=$1 PIDFILE=$2 # Return # 0 if daemon has been stopped # 1 if daemon was already stopped # 2 if daemon could not be stopped # other if a failure occurred # QUIT/TERM/INT should work here, but they don't ????? start-stop-daemon -K --quiet --signal KILL --pidfile $PIDFILE --name $NAME RETVAL="$?" rm -f $PIDFILE return "$RETVAL" } # # Function that sends a SIGHUP to the daemon/service # do_reload() { NAME=$1 PIDFILE=$2 start-stop-daemon -K --signal HUP --quiet --pidfile $PIDFILE --name $NAME return 0 } do_status() { NAME=$1 PIDFILE=$2 # -t: test only but not stop start-stop-daemon -K -t --quiet --pidfile $PIDFILE --name $NAME # exit with status 0 if process is found if [ "$?" = "0" ]; then return 0 else return 1 fi } case "$1" in start) echo -n "starting $RSYSLOGD ... " do_start "$RSYSLOGD_BIN" "$RSYSLOGD_OPTIONS" "$RSYSLOGD_PIDFILE" case "$?" in 0) echo "done" ;; 1) echo "failed" ;; esac ;; stop) echo -n "stopping $RSYSLOGD ... " do_stop "$RSYSLOGD" "$RSYSLOGD_PIDFILE" case "$?" in 0|1) echo "done" ;; 2) echo "failed" ;; esac ;; reload|force-reload) echo -n "reloading $RSYSLOGD ... " do_reload "$RSYSLOGD" "$RSYSLOGD_PIDFILE" echo "done" ;; restart) $0 stop $0 start ;; status) echo -n "status $RSYSLOGD ... " do_status "$RSYSLOGD" "$RSYSLOGD_PIDFILE" if [ "$?" = "0" ]; then echo "running" exit 0 else echo "stopped" exit 1 fi ;; *) echo "Usage: $SCRIPTNAME {start|stop|status|restart|reload|force-reload}" >&2 exit 3 ;; esac exit 0