#! /bin/sh # smartmontools init file for smartd # Copyright (C) 2002-8 Bruce Allen # $Id: smartd.initd.in 3360 2011-06-06 19:25:36Z chrfranke $ # For RedHat and cousins: # chkconfig: - 60 60 # description: Self Monitoring and Reporting Technology (SMART) Daemon # processname: smartd # For SuSE and cousins ### BEGIN INIT INFO # Provides: smartd # Required-Start: $syslog $remote_fs # Should-Start: sendmail # Required-Stop: $syslog $remote_fs # Should-Stop: sendmail # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Monitors disk and tape health via S.M.A.R.T. # Description: Start S.M.A.R.T. disk and tape monitor. ### END INIT INFO # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the Free # Software Foundation; either version 2, or (at your option) any later # version. # You should have received a copy of the GNU General Public License (for # example COPYING); if not, write to the Free Software Foundation, Inc., 675 # Mass Ave, Cambridge, MA 02139, USA. # This code was originally developed as a Senior Thesis by Michael Cornwell # at the Concurrent Systems Laboratory (now part of the Storage Systems # Research Center), Jack Baskin School of Engineering, University of # California, Santa Cruz. http://ssrc.soe.ucsc.edu/. # Uncomment the line below to pass options to smartd on startup. # Note that distribution specific configuration files like # /etc/{default,sysconfig}/smartmontools might override these #smartd_opts="--interval=1800" SMARTD_BIN=/usr/sbin/smartd SMARTDPID=/var/run/smartd.pid [ -x $SMARTD_BIN ] || exit 0 RET=0 # source configuration file [ -r /etc/default/rcS ] && . /etc/default/rcS [ -r /etc/default/smartmontools ] && . /etc/default/smartmontools smartd_opts="--pidfile $SMARTDPID $smartd_opts" case "$1" in start) if [ "$start_smartd" != "yes" ]; then [ "$VERBOSE" != "no" ] && echo "Not starting S.M.A.R.T. daemon smartd, disabled via /etc/default/smartmontools" exit 0 fi echo -n "Starting S.M.A.R.T. daemon: smartd" if start-stop-daemon --start --quiet --pidfile $SMARTDPID \ --exec $SMARTD_BIN -- $smartd_opts; then echo "." else echo " (failed)" RET=1 fi ;; stop) echo -n "Stopping S.M.A.R.T. daemon: smartd" start-stop-daemon --stop --quiet --oknodo --pidfile $SMARTDPID echo "." ;; restart) $0 stop $0 start ;; force-reload) $0 reload || $0 restart ;; reload) echo -n "Reload S.M.A.R.T. daemon: smartd" if start-stop-daemon --stop --quiet --signal 1 \ --pidfile $SMARTDPID; then echo "." else echo " (failed)" RET=1 fi ;; report) echo -n "Checking SMART devices now" if start-stop-daemon --stop --quiet --signal 10 \ --pidfile $SMARTDPID; then echo "." else echo " (failed)" RET=1 fi ;; status) if pidof $SMARTD_BIN >/dev/null; then echo "$SMARTD_BIN is running." else echo "$SMARTD_BIN is not running." RET=1 fi ;; *) echo "Usage: $0 {start|stop|restart|force-reload|reload|report|status}" exit 1 esac exit $RET