~upstart-devel/upstart/upstart-jobs

« back to all changes in this revision

Viewing changes to vivid/etc/init.d/mailavenger

  • Committer: Dimitri John Ledkov
  • Date: 2014-11-19 12:58:41 UTC
  • Revision ID: dimitri.j.ledkov@intel.com-20141119125841-98dr37roy8dvcv3b
auto update

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#! /bin/bash
 
2
#
 
3
# This initscript was created by Ulises Vitulli <dererk@debian.org> for mailavenger
 
4
#
 
5
# Start/stop the mailavenger daemon
 
6
### BEGIN INIT INFO
 
7
# Provides:          mailavenger
 
8
# Required-Start:    $syslog $remote_fs $time
 
9
# Required-Stop:     $syslog $remote_fs $time
 
10
# Default-Start:     2 3 4 5
 
11
# Default-Stop:      0 1 6
 
12
# Short-Description: mailavenger SMTP filter server
 
13
# Description:       This daemon handles the status of the MailAvenger stmpd 
 
14
### END INIT INFO
 
15
 
 
16
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
 
17
DAEMON=/usr/sbin/asmtpd
 
18
RUN_DAEMON=no
 
19
NAME=mailavenger
 
20
DESC=mailavenger
 
21
USER=avenger
 
22
DAEMON_OPTS=
 
23
 
 
24
test -x $DAEMON || exit 0
 
25
 
 
26
. /lib/lsb/init-functions
 
27
 
 
28
 
 
29
daemon_status () {
 
30
        # This returns 0 if the daemon is running, returns 1 otherwise.
 
31
        start-stop-daemon --start --test --exec $DAEMON -- $DAEMON_OPTS >/dev/null 2>&1
 
32
}
 
33
 
 
34
case "$1" in
 
35
    start)
 
36
        log_begin_msg "Starting $NAME daemon..."
 
37
 
 
38
        # Check if user has acknowledged to have configured Mail Avenger.
 
39
 
 
40
        if [ -f /etc/default/mailavenger ] ; then
 
41
                . /etc/default/mailavenger
 
42
        fi
 
43
        
 
44
        if [ "$RUN_DAEMON" = "no" ]; then
 
45
              log_failure_msg "DAEMON DISABLED, Launch aborted."
 
46
              log_failure_msg "Please check /usr/share/doc/mailavenger/README.Debian for a quick start."
 
47
              log_end_msg 0
 
48
              exit 0
 
49
        else 
 
50
                if ! daemon_status ; then
 
51
                      log_begin_msg "Already running."
 
52
                      log_end_msg 0
 
53
                      exit 0
 
54
                fi
 
55
        fi
 
56
 
 
57
        if [ ! -d "/var/run/$NAME" ]; then
 
58
                mkdir -p /var/run/$NAME
 
59
                chown $USER:nogroup /var/run/$NAME
 
60
        fi
 
61
        
 
62
        start-stop-daemon --start --oknodo --pidfile /var/run/$NAME/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
 
63
 
 
64
        if ! pidof $DAEMON > /var/run/$NAME/$NAME.pid; then
 
65
                log_begin_msg "Oops, something went wront. CHECK SYSLOG!"
 
66
                exit 1
 
67
        fi
 
68
        log_end_msg $?
 
69
        ;;
 
70
    stop)
 
71
        log_begin_msg "Stopping $NAME daemon..."
 
72
        start-stop-daemon --stop --oknodo --pidfile /var/run/$NAME/$NAME.pid --exec $DAEMON
 
73
        log_end_msg $?
 
74
        rm /var/run/$NAME/$NAME.pid >/dev/null 2>&1
 
75
        ;;
 
76
 
 
77
    status)
 
78
        if ! daemon_status; then
 
79
                log_begin_msg "$NAME is RUNNING using process id `cat /var/run/$NAME/$NAME.pid`."
 
80
                log_end_msg 0
 
81
        else
 
82
                log_failure_msg "$NAME is STOPPED!"
 
83
        fi
 
84
        ;;              
 
85
    force-reload|reload)
 
86
        if ! daemon_status; then
 
87
                log_begin_msg "Reloading $NAME configuration..."
 
88
                start-stop-daemon --stop --signal HUP --pidfile /var/run/$NAME/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS && \
 
89
                log_end_msg 0 && echo "done." || log_end_msg 3
 
90
 
 
91
        else
 
92
                log_failure_msg "$NAME is STOPPED!"
 
93
                log_end_msg 3
 
94
        fi
 
95
        ;;
 
96
    restart)
 
97
        $0 stop
 
98
        $0 start
 
99
        ;;
 
100
 
 
101
    *)
 
102
        log_success_msg "Usage: /etc/init.d/$NAME {start|stop|status|force-reload|restart}"
 
103
        exit 1
 
104
        ;;
 
105
esac
 
106
 
 
107
exit 0