summaryrefslogtreecommitdiffstats
path: root/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/initscript
blob: 7a8f8f991845edb835f81bade18ef49197f7ff0e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#! /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
OpenPOWER on IntegriCloud