Lines 7-28
Link Here
|
7 |
# Add the following lines to /etc/rc.conf.local or /etc/rc.conf |
7 |
# Add the following lines to /etc/rc.conf.local or /etc/rc.conf |
8 |
# to enable this service: |
8 |
# to enable this service: |
9 |
# |
9 |
# |
10 |
# seaweedfs_enable (bool): Set it to YES to enable seaweedfs. |
10 |
# seaweedfs_enable (bool): Set it to YES to enable seaweedfs. |
11 |
# Default is "NO". |
11 |
# Default is "NO". |
12 |
# seaweedfs_user (user): Set user to run seaweedfs. |
12 |
# seaweedfs_user (user): Set user to run seaweedfs. |
13 |
# Default is "seaweedfs". |
13 |
# Default is "seaweedfs". |
14 |
# seaweedfs_group (group): Set group to run seaweedfs. |
14 |
# seaweedfs_group (group): Set group to run seaweedfs. |
15 |
# Default is "seaweedfs". |
15 |
# Default is "seaweedfs". |
16 |
# seaweedfs_dir (directory): Set directory to store database files. |
16 |
# seaweedfs_dir (directory): Set directory to store database files. |
17 |
# Default is "/var/db/seaweedfs". |
17 |
# Default is "/var/db/seaweedfs". |
18 |
# seaweedfs_options (string): Set default parameters. |
18 |
# seaweedfs_options (string): Set default parameters. |
19 |
# Default is "server -dir=/var/db/seaweedfs". |
19 |
# Default is "server -dir=/var/db/seaweedfs". |
20 |
# seaweedfs_syslog_enable (bool): Set to enable syslog output. |
20 |
# seaweedfs_syslog_output_enable (bool): Set to enable syslog output. |
21 |
# Default is "NO". See daemon(8). |
21 |
# Default is "NO". See daemon(8). |
22 |
# seaweedfs_syslog_priority (str): Set syslog priority if syslog enabled. |
22 |
# seaweedfs_syslog_output_tag (str): Set syslog tag if syslog enabled. |
23 |
# Default is "info". See daemon(8). |
23 |
# Default: "seaweedfs". |
24 |
# seaweedfs_syslog_facility (str): Set syslog facility if syslog enabled. |
24 |
# seaweedfs_syslog_output_priority (str): Set syslog priority if syslog enabled. |
25 |
# Default is "daemon". See daemon(8). |
25 |
# Default is "info". See daemon(8). |
|
|
26 |
# seaweedfs_syslog_output_facility (str): Set syslog facility if syslog enabled. |
27 |
# Default is "daemon". See daemon(8). |
26 |
|
28 |
|
27 |
. /etc/rc.subr |
29 |
. /etc/rc.subr |
28 |
|
30 |
|
Lines 32-92
rcvar=seaweedfs_enable
Link Here
|
32 |
load_rc_config $name |
34 |
load_rc_config $name |
33 |
|
35 |
|
34 |
: ${seaweedfs_enable:="NO"} |
36 |
: ${seaweedfs_enable:="NO"} |
35 |
: ${seaweedfs_user:="seaweedfs"} |
37 |
: ${seaweedfs_user:="%%USER%%"} |
36 |
: ${seaweedfs_group:="seaweedfs"} |
38 |
: ${seaweedfs_group:="%%GROUP%%"} |
37 |
: ${seaweedfs_dir:="/var/db/seaweedfs"} |
39 |
: ${seaweedfs_dir:="%%SEAWEEDFS_DIR%%"} |
38 |
: ${seaweedfs_options:="server -dir=${seaweedfs_dir}/data"} |
40 |
: ${seaweedfs_options:="server -dir=${seaweedfs_dir}"} |
|
|
41 |
: ${seaweedfs_pidfile:=/var/run/seaweedfs.pid} |
42 |
: ${seaweedfs_syslog_output_enable:="NO"} |
39 |
|
43 |
|
40 |
DAEMON=$(/usr/sbin/daemon 2>&1 | grep -q syslog ; echo $?) |
44 |
# backwards compatibility |
41 |
if [ ${DAEMON} -eq 0 ]; then |
45 |
if [ -d "${seaweedfs_dir}/data" -a \( "${seaweedfs_options}" = "server -dir=${seaweedfs_dir}" \) ]; then |
42 |
: ${seaweedfs_syslog_enable:="NO"} |
46 |
seaweedfs_dir="${seaweedfs_dir}/data" |
43 |
: ${seaweedfs_syslog_priority:="info"} |
47 |
seaweedfs_options="server -dir=${seaweedfs_dir}" |
44 |
: ${seaweedfs_syslog_facility:="daemon"} |
48 |
fi |
45 |
if checkyesno seaweedfs_syslog_enable; then |
49 |
if [ -n "${seaweedfs_syslog_enable}" ]; then |
46 |
seaweedfs_syslog_flags="-T ${name}" |
50 |
seaweedfs_syslog_output_enable="YES" |
|
|
51 |
seaweedfs_syslog_output_priority="${seaweedfs_syslog_priority}" |
52 |
seaweedfs_syslog_output_facility="${seaweedfs_syslog_facility}" |
53 |
fi |
54 |
|
55 |
if checkyesno seaweedfs_syslog_output_enable; then |
56 |
if [ -n "${seaweedfs_syslog_output_tag}" ]; then |
57 |
seaweedfs_syslog_output_flags="-T ${seaweedfs_syslog_output_tag}" |
58 |
else |
59 |
seaweedfs_syslog_output_flags="-T ${name}" |
60 |
fi |
47 |
|
61 |
|
48 |
if [ -n "${seaweedfs_syslog_priority}" ]; then |
62 |
if [ -n "${seaweedfs_syslog_output_priority}" ]; then |
49 |
seaweedfs_syslog_flags="${seaweedfs_syslog_flags} -s ${seaweedfs_syslog_priority}" |
63 |
seaweedfs_syslog_output_flags="${seaweedfs_syslog_output_flags} -s ${seaweedfs_syslog_output_priority}" |
50 |
fi |
64 |
fi |
51 |
|
65 |
|
52 |
if [ -n "${seaweedfs_syslog_facility}" ]; then |
66 |
if [ -n "${seaweedfs_syslog_output_facility}" ]; then |
53 |
seaweedfs_syslog_flags="${seaweedfs_syslog_flags} -l ${seaweedfs_syslog_facility}" |
67 |
seaweedfs_syslog_output_flags="${seaweedfs_syslog_output_flags} -l ${seaweedfs_syslog_output_facility}" |
54 |
fi |
68 |
fi |
55 |
fi |
|
|
56 |
else |
57 |
seaweedfs_syslog_enable="NO" |
58 |
seaweedfs_syslog_flags="" |
59 |
fi |
69 |
fi |
60 |
|
70 |
|
61 |
pidfile=/var/run/seaweedfs.pid |
71 |
pidfile=${seaweedfs_pidfile} |
62 |
procname="%%PREFIX%%/bin/weed" |
72 |
procname="%%PREFIX%%/bin/weed" |
63 |
command="/usr/sbin/daemon" |
73 |
command="/usr/sbin/daemon" |
64 |
command_args="-f -t ${name} ${seaweedfs_syslog_flags} -p ${pidfile} ${procname} ${seaweedfs_options}" |
74 |
command_args="-f -t ${name} ${seaweedfs_syslog_output_flags} -p ${pidfile} ${procname} ${seaweedfs_options}" |
65 |
|
75 |
|
66 |
extra_commands="reload monitor" |
|
|
67 |
monitor_cmd=seaweedfs_monitor |
68 |
start_precmd=seaweedfs_startprecmd |
76 |
start_precmd=seaweedfs_startprecmd |
69 |
required_files="${seaweedfs_dir}" |
|
|
70 |
|
71 |
seaweedfs_monitor() |
72 |
{ |
73 |
sig_reload=USR1 |
74 |
run_rc_command "reload" |
75 |
} |
76 |
|
77 |
|
77 |
seaweedfs_startprecmd() |
78 |
seaweedfs_startprecmd() |
78 |
{ |
79 |
{ |
79 |
if [ ! -e ${pidfile} ]; then |
80 |
if [ ! -e "${pidfile}" ]; then |
80 |
install -o ${seaweedfs_user} -g ${seaweedfs_group} /dev/null ${pidfile}; |
81 |
install -m 0600 -o "${seaweedfs_user}" -g "${seaweedfs_group}" /dev/null "${pidfile}"; |
81 |
fi |
82 |
fi |
82 |
|
83 |
|
83 |
if [ ! -d ${seaweedfs_dir}/data ]; then |
84 |
if [ ! -d "${seaweedfs_dir}" ]; then |
84 |
install -d -m 0750 -o ${seaweedfs_user} -g ${seaweedfs_group} ${seaweedfs_dir}/data |
85 |
install -d -m 0750 -o "${seaweedfs_user}" -g "${seaweedfs_group}" "${seaweedfs_dir}" |
85 |
fi |
86 |
fi |
86 |
if [ ! -d ${seaweedfs_dir}/metadata ]; then |
|
|
87 |
install -d -m 0750 -o ${seaweedfs_user} -g ${seaweedfs_group} ${seaweedfs_dir}/metadata |
88 |
fi |
89 |
chdir ${seaweedfs_dir} |
90 |
} |
87 |
} |
91 |
|
88 |
|
92 |
run_rc_command "$1" |
89 |
run_rc_command "$1" |