#!/bin/sh # $FreeBSD$ # # PROVIDE: smartd # REQUIRE: LOGIN # 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"