aboutsummaryrefslogtreecommitdiff
path: root/sysutils/bareos17-server/files/bareos-dir.in
blob: 1d92025ae9a1e3e4a0e552c156df903e78741e83 (plain) (blame)
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
#!/bin/sh
#
# $FreeBSD: head/sysutils/bareos-server/files/bareos-dir.in 323275 2013-07-19 09:44:58Z rm $
#
# PROVIDE: bareos_dir
# REQUIRE: DAEMON %%REQ_MYSQL%% %%REQ_PGSQL%%
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
# to enable this service:
#
# bareos_dir_enable  (bool):   Set to NO by default.
#                Set it to YES to enable bareos_dir.
# bareos_dir_flags (params):   Set params used to start bareos_dir.
# bareos_dir_config (params):  Path to the config file/directory
#

. /etc/rc.subr

name="bareos_dir"
rcvar=${name}_enable

load_rc_config $name

: ${bareos_dir_enable="NO"}
: ${bareos_dir_flags="-u bareos -g bareos -v"}
: ${bareos_dir_config="%%PREFIX%%/etc/bareos/"}
: ${bareos_dir_pidfile="/var/run/bareos/bareos-dir.9101.pid"}

command=%%PREFIX%%/sbin/bareos-dir
command_args="-c ${bareos_dir_config}"
pidfile="${bareos_dir_pidfile}"
bconsole_command=/usr/local/bin/bconsole
start_precmd="bareos_start_precmd"
restart_precmd="bareos_dir_configtest"
reload_precmd="bareos_dir_configtest"
reload_cmd="bareos_dir_reload"
configtest_cmd="bareos_dir_configtest"

bareos_start_precmd() {
	[ -d "${pidfile%/*}" ] || install -d -o bareos -g bareos ${pidfile%/*}
	bareos_dir_configtest
}

bareos_dir_configtest() {
	echo "Performing sanity check on ${bareos_dir_config} configuration:"
	eval ${command} -t
}

bareos_dir_reload() {
	echo "Performing a graceful reload"
	# bconsole always exits with 0, so we can't check the return status for success.
	echo "reload" | ${bconsole_command}
}

extra_commands="reload configtest"
run_rc_command "$1"