1*eb8dc403SDave Cobbley#! /bin/sh 2*eb8dc403SDave Cobbley 3*eb8dc403SDave Cobbley# smartmontools init file for smartd 4*eb8dc403SDave Cobbley# Copyright (C) 2002-8 Bruce Allen <smartmontools-support@lists.sourceforge.net> 5*eb8dc403SDave Cobbley# $Id: smartd.initd.in 3360 2011-06-06 19:25:36Z chrfranke $ 6*eb8dc403SDave Cobbley 7*eb8dc403SDave Cobbley# For RedHat and cousins: 8*eb8dc403SDave Cobbley# chkconfig: - 60 60 9*eb8dc403SDave Cobbley# description: Self Monitoring and Reporting Technology (SMART) Daemon 10*eb8dc403SDave Cobbley# processname: smartd 11*eb8dc403SDave Cobbley 12*eb8dc403SDave Cobbley# For SuSE and cousins 13*eb8dc403SDave Cobbley### BEGIN INIT INFO 14*eb8dc403SDave Cobbley# Provides: smartd 15*eb8dc403SDave Cobbley# Required-Start: $syslog $remote_fs 16*eb8dc403SDave Cobbley# Should-Start: sendmail 17*eb8dc403SDave Cobbley# Required-Stop: $syslog $remote_fs 18*eb8dc403SDave Cobbley# Should-Stop: sendmail 19*eb8dc403SDave Cobbley# Default-Start: 2 3 4 5 20*eb8dc403SDave Cobbley# Default-Stop: 0 1 6 21*eb8dc403SDave Cobbley# Short-Description: Monitors disk and tape health via S.M.A.R.T. 22*eb8dc403SDave Cobbley# Description: Start S.M.A.R.T. disk and tape monitor. 23*eb8dc403SDave Cobbley### END INIT INFO 24*eb8dc403SDave Cobbley 25*eb8dc403SDave Cobbley# This program is free software; you can redistribute it and/or modify it 26*eb8dc403SDave Cobbley# under the terms of the GNU General Public License as published by the Free 27*eb8dc403SDave Cobbley# Software Foundation; either version 2, or (at your option) any later 28*eb8dc403SDave Cobbley# version. 29*eb8dc403SDave Cobbley# You should have received a copy of the GNU General Public License (for 30*eb8dc403SDave Cobbley# example COPYING); if not, write to the Free Software Foundation, Inc., 675 31*eb8dc403SDave Cobbley# Mass Ave, Cambridge, MA 02139, USA. 32*eb8dc403SDave Cobbley# This code was originally developed as a Senior Thesis by Michael Cornwell 33*eb8dc403SDave Cobbley# at the Concurrent Systems Laboratory (now part of the Storage Systems 34*eb8dc403SDave Cobbley# Research Center), Jack Baskin School of Engineering, University of 35*eb8dc403SDave Cobbley# California, Santa Cruz. http://ssrc.soe.ucsc.edu/. 36*eb8dc403SDave Cobbley 37*eb8dc403SDave Cobbley# Uncomment the line below to pass options to smartd on startup. 38*eb8dc403SDave Cobbley# Note that distribution specific configuration files like 39*eb8dc403SDave Cobbley# /etc/{default,sysconfig}/smartmontools might override these 40*eb8dc403SDave Cobbley#smartd_opts="--interval=1800" 41*eb8dc403SDave Cobbley 42*eb8dc403SDave CobbleySMARTD_BIN=/usr/sbin/smartd 43*eb8dc403SDave CobbleySMARTDPID=/var/run/smartd.pid 44*eb8dc403SDave Cobbley[ -x $SMARTD_BIN ] || exit 0 45*eb8dc403SDave CobbleyRET=0 46*eb8dc403SDave Cobbley 47*eb8dc403SDave Cobbley# source configuration file 48*eb8dc403SDave Cobbley[ -r /etc/default/rcS ] && . /etc/default/rcS 49*eb8dc403SDave Cobbley[ -r /etc/default/smartmontools ] && . /etc/default/smartmontools 50*eb8dc403SDave Cobbley 51*eb8dc403SDave Cobbleysmartd_opts="--pidfile $SMARTDPID $smartd_opts" 52*eb8dc403SDave Cobbley 53*eb8dc403SDave Cobbleycase "$1" in 54*eb8dc403SDave Cobbley start) 55*eb8dc403SDave Cobbley if [ "$start_smartd" != "yes" ]; then 56*eb8dc403SDave Cobbley [ "$VERBOSE" != "no" ] && echo "Not starting S.M.A.R.T. daemon smartd, disabled via /etc/default/smartmontools" 57*eb8dc403SDave Cobbley exit 0 58*eb8dc403SDave Cobbley fi 59*eb8dc403SDave Cobbley echo -n "Starting S.M.A.R.T. daemon: smartd" 60*eb8dc403SDave Cobbley if start-stop-daemon --start --quiet --pidfile $SMARTDPID \ 61*eb8dc403SDave Cobbley --exec $SMARTD_BIN -- $smartd_opts; then 62*eb8dc403SDave Cobbley echo "." 63*eb8dc403SDave Cobbley else 64*eb8dc403SDave Cobbley echo " (failed)" 65*eb8dc403SDave Cobbley RET=1 66*eb8dc403SDave Cobbley fi 67*eb8dc403SDave Cobbley ;; 68*eb8dc403SDave Cobbley stop) 69*eb8dc403SDave Cobbley echo -n "Stopping S.M.A.R.T. daemon: smartd" 70*eb8dc403SDave Cobbley start-stop-daemon --stop --quiet --oknodo --pidfile $SMARTDPID 71*eb8dc403SDave Cobbley echo "." 72*eb8dc403SDave Cobbley ;; 73*eb8dc403SDave Cobbley restart) 74*eb8dc403SDave Cobbley $0 stop 75*eb8dc403SDave Cobbley $0 start 76*eb8dc403SDave Cobbley ;; 77*eb8dc403SDave Cobbley force-reload) 78*eb8dc403SDave Cobbley $0 reload || $0 restart 79*eb8dc403SDave Cobbley ;; 80*eb8dc403SDave Cobbley reload) 81*eb8dc403SDave Cobbley echo -n "Reload S.M.A.R.T. daemon: smartd" 82*eb8dc403SDave Cobbley if start-stop-daemon --stop --quiet --signal 1 \ 83*eb8dc403SDave Cobbley --pidfile $SMARTDPID; then 84*eb8dc403SDave Cobbley echo "." 85*eb8dc403SDave Cobbley else 86*eb8dc403SDave Cobbley echo " (failed)" 87*eb8dc403SDave Cobbley RET=1 88*eb8dc403SDave Cobbley fi 89*eb8dc403SDave Cobbley ;; 90*eb8dc403SDave Cobbley report) 91*eb8dc403SDave Cobbley echo -n "Checking SMART devices now" 92*eb8dc403SDave Cobbley if start-stop-daemon --stop --quiet --signal 10 \ 93*eb8dc403SDave Cobbley --pidfile $SMARTDPID; then 94*eb8dc403SDave Cobbley echo "." 95*eb8dc403SDave Cobbley else 96*eb8dc403SDave Cobbley echo " (failed)" 97*eb8dc403SDave Cobbley RET=1 98*eb8dc403SDave Cobbley fi 99*eb8dc403SDave Cobbley ;; 100*eb8dc403SDave Cobbley status) 101*eb8dc403SDave Cobbley if pidof $SMARTD_BIN >/dev/null; then 102*eb8dc403SDave Cobbley echo "$SMARTD_BIN is running." 103*eb8dc403SDave Cobbley else 104*eb8dc403SDave Cobbley echo "$SMARTD_BIN is not running." 105*eb8dc403SDave Cobbley RET=1 106*eb8dc403SDave Cobbley fi 107*eb8dc403SDave Cobbley ;; 108*eb8dc403SDave Cobbley *) 109*eb8dc403SDave Cobbley echo "Usage: $0 {start|stop|restart|force-reload|reload|report|status}" 110*eb8dc403SDave Cobbley exit 1 111*eb8dc403SDave Cobbleyesac 112*eb8dc403SDave Cobbleyexit $RET 113