mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-10 07:04:03 +00:00
69 lines
1.1 KiB
Bash
69 lines
1.1 KiB
Bash
#!/bin/sh
|
|
|
|
# PROVIDE: smartd
|
|
# REQUIRE: root ldconfig devfs syslogd mail
|
|
# KEYWORD: shutdown nojail
|
|
#
|
|
# Define these smartd_* variables in one of these files:
|
|
# /etc/rc.conf
|
|
# /etc/rc.conf.local
|
|
# /etc/rc.conf.d/smartd
|
|
#
|
|
# DO NOT CHANGE THESE DEFAULT VALUES HERE
|
|
|
|
. /etc/rc.subr
|
|
|
|
name=smartd
|
|
rcvar=smartd_enable
|
|
|
|
load_rc_config smartd
|
|
|
|
: ${smartd_enable:="NO"}
|
|
|
|
required_files=${smartd_config:="%%PREFIX%%/etc/smartd.conf"}
|
|
pidfile=${smartd_pidfile:="/var/run/smartd.pid"}
|
|
|
|
command="%%PREFIX%%/sbin/smartd"
|
|
command_args="-c ${required_files} -p ${pidfile}"
|
|
|
|
extra_commands="reload report"
|
|
reload_cmd="smartd_reload"
|
|
report_cmd="smartd_report"
|
|
|
|
start_precmd=smartd_prestart
|
|
|
|
smartd_prestart()
|
|
{
|
|
case "${smartd_flags}" in
|
|
-p*|*-p*)
|
|
err 1 'smartd_flags includes the -p option, use smartd_pidfile instead'
|
|
;;
|
|
esac
|
|
}
|
|
|
|
smartd_reload()
|
|
{
|
|
local status
|
|
|
|
if ! status=`run_rc_command status 2>&1`; then
|
|
echo $status
|
|
return 1
|
|
fi
|
|
echo 'Reloading smartd.'
|
|
kill -HUP $rc_pid
|
|
}
|
|
|
|
smartd_report()
|
|
{
|
|
local status
|
|
|
|
if ! status=`run_rc_command status 2>&1`; then
|
|
echo $status
|
|
return 1
|
|
fi
|
|
echo 'Checking SMART devices now.'
|
|
kill -USR1 $rc_pid
|
|
}
|
|
|
|
run_rc_command "$1"
|