|
Lines 14-58
Link Here
|
| 14 |
|
14 |
|
| 15 |
. /etc/rc.subr |
15 |
. /etc/rc.subr |
| 16 |
|
16 |
|
| 17 |
name=nsd |
17 |
case $0 in |
| 18 |
rcvar=nsd_enable |
18 |
/etc/rc*) |
|
|
19 |
# during boot (shutdown) $0 is /etc/rc (/etc/rc.shutdown), |
| 20 |
# so get the name of the script from $_file |
| 21 |
name=$_file |
| 22 |
;; |
| 23 |
*) |
| 24 |
name=$0 |
| 25 |
;; |
| 26 |
esac |
| 19 |
|
27 |
|
| 20 |
required_files=%%PREFIX%%/etc/nsd/nsd.conf |
28 |
name=${name##*/} |
| 21 |
|
29 |
|
| 22 |
command=%%PREFIX%%/sbin/nsdc |
30 |
rcvar=${name}_enable |
| 23 |
command_args="start" |
|
|
| 24 |
pidfile=`%%PREFIX%%/sbin/nsd-checkconf -o pidfile %%PREFIX%%/etc/nsd/nsd.conf` |
| 25 |
procname=%%PREFIX%%/sbin/${name} |
| 26 |
|
31 |
|
| 27 |
load_rc_config ${name} |
32 |
load_rc_config ${name} |
| 28 |
|
33 |
|
| 29 |
nsd_enable=${nsd_enable-"NO"} |
34 |
eval ": \${${name}_conf:=\"%%PREFIX%%/etc/nsd/${name}.conf\"}" |
|
|
35 |
eval "_conf=\${${name}_conf}" |
| 36 |
|
| 37 |
command=%%PREFIX%%/sbin/nsdc |
| 38 |
procname=%%PREFIX%%/sbin/nsd |
| 39 |
|
| 40 |
required_files=${_conf} |
| 41 |
pidfile=`%%PREFIX%%/sbin/nsd-checkconf -o pidfile ${_conf}` |
| 42 |
|
| 43 |
extra_commands="notify patch rebuild reload update" |
| 30 |
|
44 |
|
| 31 |
extra_commands="reload" |
45 |
notify_cmd="nsd_nsdc_cmd notify" |
| 32 |
start_precmd="nsd_precmd" |
46 |
patch_cmd="nsd_nsdc_cmd patch" |
| 33 |
reload_cmd="nsd_reload" |
47 |
rebuild_cmd="nsd_nsdc_cmd rebuild" |
| 34 |
stop_cmd="nsd_stop" |
48 |
reload_cmd="nsd_reload_cmd" |
|
|
49 |
start_cmd="nsd_start_cmd" |
| 50 |
stop_cmd="nsd_stop_cmd" |
| 51 |
update_cmd="nsd_nsdc_cmd update" |
| 35 |
|
52 |
|
| 36 |
nsd_precmd() |
53 |
nsd_nsdc_cmd() |
| 37 |
{ |
54 |
{ |
| 38 |
db=`%%PREFIX%%/sbin/nsd-checkconf -o database %%PREFIX%%/etc/nsd/nsd.conf` |
55 |
${command} -c ${_conf} "$1" |
| 39 |
if [ ! -f "$db" ]; then |
|
|
| 40 |
${command} rebuild |
| 41 |
fi |
| 42 |
} |
56 |
} |
| 43 |
|
57 |
|
| 44 |
nsd_reload() |
58 |
nsd_reload_cmd() |
| 45 |
{ |
59 |
{ |
| 46 |
${command} rebuild && ${command} reload |
60 |
nsd_nsdc_cmd rebuild && nsd_nsdc_cmd reload |
|
|
61 |
} |
| 62 |
|
| 63 |
nsd_start_cmd() |
| 64 |
{ |
| 65 |
local _db |
| 66 |
_db=`%%PREFIX%%/sbin/nsd-checkconf -o database ${_conf}` |
| 67 |
if [ ! -f "${_db}" ]; then |
| 68 |
nsd_nsdc_cmd rebuild |
| 69 |
fi |
| 70 |
|
| 71 |
echo "Starting ${name}." |
| 72 |
nsd_nsdc_cmd start |
| 47 |
} |
73 |
} |
| 48 |
|
74 |
|
| 49 |
nsd_stop() |
75 |
nsd_stop_cmd() |
| 50 |
{ |
76 |
{ |
| 51 |
echo "Merging nsd zone transfer changes to zone files." |
77 |
echo "Merging nsd zone transfer changes to zone files." |
| 52 |
${command} patch |
78 |
nsd_nsdc_cmd patch |
| 53 |
|
79 |
|
| 54 |
echo "Stopping ${name}." |
80 |
echo "Stopping ${name}." |
| 55 |
${command} stop |
81 |
nsd_nsdc_cmd stop |
| 56 |
} |
82 |
} |
| 57 |
|
83 |
|
| 58 |
run_rc_command "$1" |
84 |
run_rc_command "$1" |