File: elog.init

package info (click to toggle)
elog 3.1.2-1-1
  • links: PTS
  • area: main
  • in suites: stretch
  • size: 4,268 kB
  • ctags: 1,388
  • sloc: ansic: 30,826; sh: 324; perl: 247; makefile: 228
file content (177 lines) | stat: -rw-r--r-- 5,629 bytes parent folder | download | duplicates (3)
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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
#!/bin/sh
### BEGIN INIT INFO
# Provides:          elog
# Required-Start:    $network $local_fs $remote_fs
# Required-Stop:     $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Logbook system to manage notes through a Web interface
# Description:       Logbook system to manage notes through a Web interface
#  The Electronic Logbook (ELOG) provides a Web interface to manage notes.  Its
#  general purpose is to make it easy for people to put and access information
#  online; in the form of short, time stamped text messages with optional HTML
#  markup for presentation, and optional file attachments.  ELOG has its own
#  daemon, there is no need for a full-fledged server (e.g. Apache).  It stores
#  notes as simple as plain text; no special formatting.  Its features:
#  .
#    * Personal logbooks: Personal notes can be written into ELOG and can then be
#      retrieved from anywhere with a Web browser.
#    * Shared logbooks: Logbooks can be shared by several people, for reading and
#      optionally for writing.  Workgroups can share and exchange information like
#      in a (simplified) news group.
#    * Small databases: Since arbitrary attributes can be defined for a logbook,
#      it can be used as a small database with search facilities.
#    * Problem collections: A system can consist of two logbooks, in one of which
#      users enter bugs or problems.  Whenever someone adds a problem, an email is
#      automatically sent to the administrator.
#    * Shift logbooks: If the Allow delete and Allow edit flags are off, an entry
#      cannot be modified once it's been entered.  This can be useful for shift
#      logbooks for example in Physics experiments where each entry becomes a
#      "document" with a time and author stamp.
#    * File collections: Since files can be attached to ELOG entries, the system
#      can be used to store and retrieve files.
### END INIT INFO

# Author: 2014 Roger Kalt <roger.kalt@gmail.com>
# Author: 2003, 2005  Recai Oktaş <roktas@omu.edu.tr>

# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/bin:/sbin:/usr/sbin:/usr/bin
DESC="elog daemon"           # Introduce a short description here
NAME=elog                    # Introduce the short server's name here
DAEMON=/usr/sbin/elogd       # Introduce the server's location here
DAEMON_ARGS=""               # Arguments to run the daemon with
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
CONFFILE=${CONFFILE:-/etc/elog.conf}
LOGBOOKDIR=${LOGBOOKDIR:-/var/lib/elog/logbooks}
RESOURCEDIR=${RESOURCEDIR:-/usr/share/elog}
# ELOGVERBOSE="-v"

# Exit if the package is not installed
[ -x $DAEMON ] || exit 0

# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME

# Add the options to argument list only if defined previously.  Since
# some options may also be present in the conffile, we couldn't preset
# those options which would otherwise overwrite the settings in the
# conffile.  Also note that, all have reasonable compiled-in defaults.
ARGS="${PIDFILE+"-f $PIDFILE"}         \
      ${CONFFILE+"-c $CONFFILE"}       \
      ${LOGBOOKDIR+"-d $LOGBOOKDIR"}   \
      ${RESOURCEDIR+"-s $RESOURCEDIR"} \
      ${PORT+"-p $PORT"}               \
      ${HOST+"-n $HOST"}               \
      ${ELOGVERBOSE+"-v"}"
      
# Always run as a daemon.
DAEMON_ARGS=`$DAEMON_ARGS echo $ARGS -D`

# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh
# override VERBOSE setting:
VERBOSE="yes"

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions

#
# Function that starts the daemon/service
#
do_start()
{
	# Return
	#   0 if daemon has been started
	#   1 if daemon was already running
	#   2 if daemon could not be started
	start-stop-daemon --start  --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
		|| return 1
	start-stop-daemon --start  --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_ARGS \
		|| return 2
}

#
# Function that stops the daemon/service
#
do_stop()
{
	# Return
	#   0 if daemon has been stopped
	
	# immediately kill elogd
	killall $DAEMON
	rm -f $PIDFILE
	return '0'
}

#
# Function that sends a SIGHUP to the daemon/service
#
do_reload() {
	#
	# The daemon can reload its configuration with HUP:
	killall HUP $DAEMON	
	return 0
}

case "$1" in
  start)
    [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC " "$NAME"
    do_start
    case "$?" in
		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
	esac
  ;;
  stop)
	[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
	do_stop
	case "$?" in
		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
	esac
	;;
  status)
       status_of_proc -p $PIDFILE "$DAEMON" "$NAME" && exit 0 || exit $?
       ;;
  #reload|force-reload)
	#
	# If do_reload() is not implemented then leave this commented out
	# and leave 'force-reload' as an alias for 'restart'.
	#
	#log_daemon_msg "Reloading $DESC" "$NAME"
	#do_reload
	#log_end_msg $?
	#;;
  restart|force-reload)
	#
	# If the "reload" option is implemented then remove the
	# 'force-reload' alias
	#
	log_daemon_msg "Restarting $DESC" "$NAME"
	do_stop
	case "$?" in
	  0|1)
		do_start
		case "$?" in
			0) log_end_msg 0 ;;
			1) log_end_msg 1 ;; # Old process is still running
			*) log_end_msg 1 ;; # Failed to start
		esac
		;;
	  *)
	  	# Failed to stop
		log_end_msg 1
		;;
	esac
	;;
  *)
	echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
	exit 3
	;;
esac

: