1
1
#! /bin/sh
2
+
2
3
# ## BEGIN INIT INFO
3
4
# Provides:
4
- # Required-Start: $remote_fs $syslog
5
- # Required-Stop: $remote_fs $syslog
6
- # Default-Start: 2 3 4 5
7
- # Default-Stop: 0 1 6
8
- # Short-Description: Start daemon at boot time
9
- # Description: Enable service provided by daemon.
5
+ # Required-Start: $docker
6
+ # Required-Stop: $docker
7
+ # Default-Start: 2 3 4 5
8
+ # Default-Stop: 0 1 6
9
+ # Short-Description: Snowplow Mini Services
10
10
# ## END INIT INFO
11
11
12
- cmd=" docker-compose -f /home/ubuntu/snowplow/docker-compose.yml up -d && sleep 20"
13
- user=" ubuntu"
12
+ set -e
13
+
14
+ YAMLFILE=/home/ubuntu/snowplow/docker-compose.yml
15
+ OPTS=" -f $YAMLFILE "
16
+ UPOPTS=" -d --no-recreate"
17
+
18
+ up_cmd=" cd /home/ubuntu/snowplow && sudo docker-compose up $UPOPTS "
19
+ stop_cmd=" cd /home/ubuntu/snowplow && sudo docker-compose stop"
20
+ down_cmd=" cd /home/ubuntu/snowplow && sudo docker-compose down"
14
21
15
22
name=" snowplow_mini"
16
23
pid_file=" /var/run/$name .pid"
17
24
stdout_log=" /var/log/$name .log"
18
25
stderr_log=" /var/log/$name .err"
19
26
20
- get_pid () {
21
- cat " $pid_file "
22
- }
23
-
24
- is_running () {
25
- [ -f " $pid_file " ] && ps ` get_pid` > /dev/null 2>&1
26
- }
27
-
28
27
case " $1 " in
29
28
start)
30
- if is_running; then
31
- echo " Already started"
32
- else
33
- echo " Starting $name "
34
- if [ -z " $user " ]; then
35
- sudo $cmd >> " $stdout_log " 2>> " $stderr_log " &
36
- else
37
- sudo -u " $user " $cmd >> " $stdout_log " 2>> " $stderr_log " &
38
- fi
39
- echo $! > " $pid_file "
40
- if ! is_running; then
41
- echo " Unable to start, see $stdout_log and $stderr_log "
42
- exit 1
43
- fi
44
- fi
45
- ;;
46
- stop)
47
- if is_running; then
48
- echo -n " Stopping $name .."
49
- kill ` get_pid`
50
- for i in {1..10}
51
- do
52
- if ! is_running; then
53
- break
54
- fi
29
+ echo -n " Starting Snowplow Mini..."
30
+ $up_cmd >> " $stdout_log " 2>> " $stderr_log " &
31
+ echo " done"
32
+ ;;
55
33
56
- echo -n " ."
57
- sleep 1
58
- done
59
- echo
34
+ stop)
35
+ echo -n " Stopping Snowplow Mini..."
36
+ $stop_cmd >> " $stdout_log " 2>> " $stderr_log " &
37
+ echo " done"
38
+ ;;
60
39
61
- if is_running; then
62
- echo " Not stopped; may still be shutting down or shutdown may have failed"
63
- exit 1
64
- else
65
- echo " Stopped"
66
- if [ -f " $pid_file " ]; then
67
- rm " $pid_file "
68
- fi
69
- fi
70
- else
71
- echo " Not running"
72
- fi
73
- ;;
74
40
restart)
75
- $0 stop
76
- if is_running; then
77
- echo " Unable to stop, will not attempt to start"
78
- exit 1
79
- fi
80
- $0 start
81
- ;;
82
- status)
83
- if is_running; then
84
- echo " Running"
85
- else
86
- echo " Stopped"
87
- exit 1
88
- fi
89
- ;;
41
+ echo -n " Restarting Snowplow Mini..."
42
+ $down_cmd >> " $stdout_log " 2>> " $stderr_log " &
43
+ $up_cmd >> " $stdout_log " 2>> " $stderr_log " &
44
+ echo " done"
45
+ ;;
46
+
90
47
* )
91
- echo " Usage: $0 {start|stop|restart|status}"
92
- exit 1
93
- ;;
48
+ echo " Usage: /etc/init.d/snowplow_mini {start|stop|restart|status}"
49
+ exit 1
50
+ ;;
94
51
esac
95
52
96
- exit 0
53
+ exit 0
0 commit comments