]> git.proxmox.com Git - mirror_smartmontools-debian.git/blame - smartd.initd.in
Updated changelog
[mirror_smartmontools-debian.git] / smartd.initd.in
CommitLineData
832b75ed
GG
1#! /bin/sh
2
3# smartmontools init file for smartd
34ad0c5f 4# Copyright (C) 2002-8 Bruce Allen <smartmontools-support@lists.sourceforge.net>
a7e8ffec 5# $Id: smartd.initd.in 3360 2011-06-06 19:25:36Z chrfranke $
832b75ed
GG
6
7# For RedHat and cousins:
8# chkconfig: 2345 40 40
9# description: Self Monitoring and Reporting Technology (SMART) Daemon
10# processname: smartd
11
12# For SuSE and cousins
13### BEGIN INIT INFO
34ad0c5f 14# Provides: smartd
a7e8ffec
GI
15# Required-Start: $syslog $remote_fs
16# Should-Start: sendmail
17# Required-Stop: $syslog $remote_fs
18# Should-Stop: sendmail
34ad0c5f 19# Default-Start: 2 3 5
832b75ed 20# Default-Stop:
34ad0c5f
GG
21# Short-Description: Monitors disk and tape health via S.M.A.R.T.
22# Description: Start S.M.A.R.T. disk and tape monitor.
832b75ed
GG
23### END INIT INFO
24
25# This program is free software; you can redistribute it and/or modify it
26# under the terms of the GNU General Public License as published by the Free
27# Software Foundation; either version 2, or (at your option) any later
28# version.
29# You should have received a copy of the GNU General Public License (for
30# example COPYING); if not, write to the Free Software Foundation, Inc., 675
31# Mass Ave, Cambridge, MA 02139, USA.
32# This code was originally developed as a Senior Thesis by Michael Cornwell
33# at the Concurrent Systems Laboratory (now part of the Storage Systems
34# Research Center), Jack Baskin School of Engineering, University of
35# California, Santa Cruz. http://ssrc.soe.ucsc.edu/.
36
37# Uncomment the line below to pass options to smartd on startup.
38# Note that distribution specific configuration files like
39# /etc/{default,sysconfig}/smartmontools might override these
40#smartd_opts="--interval=1800"
41
42SMARTD_BIN=/usr/local/sbin/smartd
43
44report_unsupported () {
45 echo "Currently the smartmontools package has no init script for"
46 echo "the $1 OS/distribution. If you can provide one or this"
47 echo "one works after removing some ifdefs, please contact"
48 echo "smartmontools-support@lists.sourceforge.net."
49 exit 1
50}
51
52# Red Hat or Yellow Dog or Mandrake
53if [ -f /etc/redhat-release -o -f /etc/yellowdog-release -o -f /etc/mandrake-release -o -f /etc/whitebox-release -o -f /etc/trustix-release -o -f /etc/tinysofa-release ] ; then
a7e8ffec
GI
54
55 # Source function library
832b75ed
GG
56 . /etc/rc.d/init.d/functions
57
a7e8ffec 58 # Source configuration file. This should define the shell variable smartd_opts
832b75ed 59 [ -r /etc/sysconfig/smartmontools ] && . /etc/sysconfig/smartmontools
a7e8ffec 60
832b75ed 61 RETVAL=0
a7e8ffec 62
832b75ed 63 prog=smartd
a7e8ffec
GI
64 pidfile=/var/lock/subsys/smartd
65 config=/etc/smartd.conf
66
67 start()
68 {
69 [ $UID -eq 0 ] || exit 4
70 [ -x $SMARTD_BIN ] || exit 5
71 [ -f $config ] || exit 6
72 echo -n $"Starting $prog: "
73 daemon $SMARTD_BIN $smartd_opts
74 RETVAL=$?
75 echo
76 [ $RETVAL = 0 ] && touch $pidfile
77 return $RETVAL
78 }
79
80 stop()
81 {
82 [ $UID -eq 0 ] || exit 4
83 echo -n $"Shutting down $prog: "
84 killproc $SMARTD_BIN
85 RETVAL=$?
86 echo
87 rm -f $pidfile
88 return $RETVAL
89 }
90
91 reload()
92 {
93 echo -n $"Reloading $prog daemon configuration: "
94 killproc $SMARTD_BIN -HUP
95 RETVAL=$?
96 echo
97 return $RETVAL
98 }
99
100 report()
101 {
102 echo -n $"Checking SMART devices now: "
103 killproc $SMARTD_BIN -USR1
104 RETVAL=$?
105 echo
106 return $RETVAL
107 }
108
832b75ed
GG
109 case "$1" in
110 start)
a7e8ffec
GI
111 start
112 ;;
832b75ed 113 stop)
a7e8ffec
GI
114 stop
115 ;;
832b75ed 116 reload)
a7e8ffec
GI
117 reload
118 ;;
832b75ed 119 report)
a7e8ffec
GI
120 report
121 ;;
832b75ed 122 restart)
a7e8ffec
GI
123 stop
124 start
125 ;;
126 condrestart|try-restart)
127 if [ -f $pidfile ]; then
128 stop
129 start
130 fi
131 ;;
132 force-reload)
133 reload || (stop; start)
134 ;;
832b75ed 135 status)
a7e8ffec
GI
136 status $prog
137 RETVAL=$?
138 ;;
832b75ed 139 *)
a7e8ffec
GI
140 echo $"Usage: $0 {start|stop|restart|status|condrestart|try-restart|reload|force-reload|report}"
141 RETVAL=2
142 [ "$1" = 'usage' ] && RETVAL=0
832b75ed 143 esac
832b75ed
GG
144 exit $RETVAL
145
146# Slackware
147elif [ -f /etc/slackware-version ] ; then
a7e8ffec
GI
148
149 # Source configuration file. This should define the shell variable smartd_opts.
150 # Email smartmontools-support@lists.sourceforge.net if there is a better choice
151 # of path for Slackware.
832b75ed
GG
152
153 [ -r /etc/sysconfig/smartmontools ] && . /etc/sysconfig/smartmontools
154
a7e8ffec 155 RETVAL=0
832b75ed
GG
156 case "$1" in
157 start)
158 echo -n "Starting smartd: "
159 $SMARTD_BIN $smartd_opts
a7e8ffec 160 RETVAL=$?
832b75ed
GG
161 echo
162 ;;
163 stop)
164 echo -n "Shutting down smartd: "
165 killall $SMARTD_BIN
a7e8ffec 166 RETVAL=$?
832b75ed
GG
167 echo
168 ;;
169 restart)
170 $0 stop
171 sleep 1
172 $0 start
a7e8ffec
GI
173 RETVAL=$?
174 ;;
175 try-restart)
176 if pidof $SMARTD_BIN >/dev/null; then
177 $0 restart
178 RETVAL=$?
179 fi
180 ;;
181 force-reload)
182 $0 reload || $0 restart
183 RETVAL=$?
184 ;;
185 reload)
186 echo -n "Reloading smartd configuration: "
187 killall -s HUP $SMARTD_BIN
188 RETVAL=$?
189 echo
190 ;;
191 report)
192 echo -n "Checking SMART devices now: "
193 killall -s USR1 $SMARTD_BIN
194 RETVAL=$?
195 echo
196 ;;
197 status)
198 if pidof $SMARTD_BIN >/dev/null; then
199 echo "$SMARTD_BIN is running."
200 else
201 echo "$SMARTD_BIN is not running."
202 RETVAL=1
203 fi
832b75ed
GG
204 ;;
205 *)
a7e8ffec
GI
206 echo "Usage: $0 {start|stop|restart|try-restart|force-reload|reload|report|status}"
207 RETVAL=1
832b75ed 208 esac
a7e8ffec
GI
209 exit $RETVAL
210
832b75ed
GG
211# SuSE
212elif [ -f /etc/SuSE-release ] ; then
213 test -x $SMARTD_BIN || exit 5
a7e8ffec 214
832b75ed
GG
215 # Existence of config file is optional
216 SMARTD_CONFIG=/etc/smartd.conf
217
a7e8ffec
GI
218 # source configuration file.
219 [ -r /etc/sysconfig/smartmontools ] && . /etc/sysconfig/smartmontools
220 smartd_opts=
221 if test -n "$SMARTD_CHECK_INTERVAL" -a "$SMARTD_CHECK_INTERVAL" != 1800 ; then
222 smartd_opts=" -i $SMARTD_CHECK_INTERVAL"
223 fi
224 if test -n "$SMARTD_LOG_FACILITY" -a "$SMARTD_LOG_FACILITY" != "daemon" ; then
225 smartd_opts="$smartd_opts -l $SMARTD_LOG_FACILITY"
226 fi
227 if test -n "$SMARTD_DRIVEDB" ; then
228 smartd_opts="$smartd_opts -B $SMARTD_DRIVEDB"
229 fi
832b75ed 230
a7e8ffec
GI
231 # Shell functions sourced from /etc/rc.status:
232 # rc_check check and set local and overall rc status
233 # rc_status check and set local and overall rc status
234 # rc_status -v be verbose in local rc status and clear it afterwards
235 # rc_status -v -r ditto and clear both the local and overall rc status
236 # rc_status -s display "skipped" and exit with status 3
237 # rc_status -u display "unused" and exit with status 3
238 # rc_failed set local and overall rc status to failed
239 # rc_failed <num> set local and overall rc status to <num>
240 # rc_reset clear both the local and overall rc status
241 # rc_exit exit appropriate to overall rc status
242 # rc_active checks whether a service is activated by symlinks
832b75ed 243 . /etc/rc.status
a7e8ffec
GI
244
245 # Reset status of this service
832b75ed 246 rc_reset
a7e8ffec
GI
247
248 # Return values acc. to LSB for all commands but status:
249 # 0 - success
250 # 1 - generic or unspecified error
251 # 2 - invalid or excess argument(s)
252 # 3 - unimplemented feature (e.g. "reload")
253 # 4 - user had insufficient privileges
254 # 5 - program is not installed
255 # 6 - program is not configured
256 # 7 - program is not running
257 # 8--199 - reserved (8--99 LSB, 100--149 distrib, 150--199 appl)
258 #
259 # Note that starting an already running service, stopping
260 # or restarting a not-running service as well as the restart
261 # with force-reload (in case signaling is not supported) are
262 # considered a success.
263
832b75ed
GG
264 case "$1" in
265 start)
ba59cff1 266 echo -n "Starting smartd "
a7e8ffec
GI
267 ## Start daemon with startproc(8). If this fails
268 ## the return value is set appropriately by startproc.
269
270 # We don't use startproc - we need to check for return code 17.
271 if ! /sbin/checkproc $SMARTD_BIN ; then
272 $SMARTD_BIN $smartd_opts
273 # Remember status and be verbose
274 if test $? -ne 17 ; then
275 rc_status -v
276 else
277 rc_status -u
278 fi
279 else
280 rc_reset
281 rc_status -v
282 fi
832b75ed
GG
283 ;;
284 stop)
ba59cff1 285 echo -n "Shutting down smartd "
a7e8ffec
GI
286 /sbin/killproc -TERM $SMARTD_BIN
287 # Remember status and be verbose
288 rc_status -v
832b75ed 289 ;;
a7e8ffec 290 try-restart)
ba59cff1
GG
291 ## Do a restart only if the service was active before.
292 ## Note: try-restart is now part of LSB (as of 1.9).
ba59cff1
GG
293 $0 status
294 if test $? = 0; then
a7e8ffec
GI
295 $0 restart
296 else
297 rc_reset # Not running is not a failure.
ba59cff1
GG
298 fi
299 # Remember status and be quiet
300 rc_status
301 ;;
a7e8ffec 302 restart)
832b75ed
GG
303 $0 stop
304 $0 start
a7e8ffec
GI
305 # Remember status and be quiet
306 rc_status
832b75ed 307 ;;
a7e8ffec
GI
308 force-reload|reload)
309 echo -n "Reload service smartd "
310 /sbin/killproc -HUP $SMARTD_BIN
832b75ed
GG
311 rc_status -v
312 ;;
a7e8ffec
GI
313 report)
314 ## Checking SMART devices now (smartd specific function)
315 echo -n "Checking SMART devices now "
316 /sbin/killproc -USR1 $SMARTD_BIN
317 rc_status -v
318 ;;
319 status)
320 echo -n "Checking for service smartd "
321 ## Check status with checkproc(8), if process is running
322 ## checkproc will return with exit status 0.
323
324 # Return value is slightly different for the status command:
325 # 0 - service up and running
326 # 1 - service dead, but /var/run/ pid file exists
327 # 2 - service dead, but /var/lock/ lock file exists
328 # 3 - service not running (unused)
329 # 4 - service status unknown :-(
330 # 5--199 reserved (5--99 LSB, 100--149 distro, 150--199 appl.)
331
332 # NOTE: checkproc returns LSB compliant status values.
333 /sbin/checkproc $SMARTD_BIN
334 rc_status -v
335 ;;
336 probe)
832b75ed
GG
337 ## Optional: Probe for the necessity of a reload, print out the
338 ## argument to this init script which is required for a reload.
a7e8ffec 339 ## Note: probe is not (yet) part of LSB (as of 1.9)
832b75ed
GG
340
341 test $SMARTD_CONFIG -nt /var/run/smartd.pid && echo reload
342 ;;
343 *)
a7e8ffec 344 echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|report|probe}"
832b75ed 345 exit 1
832b75ed 346 esac
832b75ed
GG
347 rc_exit
348
349# Debian case
350elif [ -f /etc/debian_version ] ; then
a7e8ffec
GI
351 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
352 SMARTDPID=/var/run/smartd.pid
353 [ -x $SMARTD_BIN ] || exit 0
354 RET=0
355
356 # source configuration file
357 [ -r /etc/default/rcS ] && . /etc/default/rcS
358 [ -r /etc/default/smartmontools ] && . /etc/default/smartmontools
832b75ed 359
a7e8ffec 360 smartd_opts="--pidfile $SMARTDPID $smartd_opts"
832b75ed 361
a7e8ffec 362 case "$1" in
832b75ed
GG
363 start)
364 echo -n "Starting S.M.A.R.T. daemon: smartd"
365 if start-stop-daemon --start --quiet --pidfile $SMARTDPID \
a7e8ffec
GI
366 --exec $SMARTD_BIN -- $smartd_opts; then
367 echo "."
832b75ed 368 else
a7e8ffec 369 echo " (failed)"
832b75ed 370 RET=1
a7e8ffec
GI
371 fi
372 ;;
832b75ed
GG
373 stop)
374 echo -n "Stopping S.M.A.R.T. daemon: smartd"
375 start-stop-daemon --stop --quiet --oknodo --pidfile $SMARTDPID
376 echo "."
a7e8ffec
GI
377 ;;
378 restart)
379 $0 stop
380 $0 start
381 ;;
382 force-reload)
383 $0 reload || $0 restart
384 ;;
385 reload)
386 echo -n "Reload S.M.A.R.T. daemon: smartd"
387 if start-stop-daemon --stop --quiet --signal 1 \
388 --pidfile $SMARTDPID; then
389 echo "."
390 else
391 echo " (failed)"
392 RET=1
393 fi
394 ;;
395 report)
396 echo -n "Checking SMART devices now"
397 if start-stop-daemon --stop --quiet --signal 10 \
398 --pidfile $SMARTDPID; then
399 echo "."
400 else
401 echo " (failed)"
402 RET=1
403 fi
404 ;;
405 status)
406 if pidof $SMARTD_BIN >/dev/null; then
407 echo "$SMARTD_BIN is running."
408 else
409 echo "$SMARTD_BIN is not running."
410 RET=1
411 fi
412 ;;
413 *)
414 echo "Usage: $0 {start|stop|restart|force-reload|reload|report|status}"
832b75ed 415 exit 1
a7e8ffec
GI
416 esac
417 exit $RET
832b75ed
GG
418
419elif [ -f /etc/gentoo-release ] ; then
420 report_unsupported "Gentoo"
421
422elif [ -f /etc/turbolinux-release ] ; then
423 report_unsupported "Turbolinux"
424
425elif [ -f /etc/environment.corel ] ; then
426 report_unsupported "Corel"
427
428# PLEASE ADD OTHER LINUX DISTRIBUTIONS JUST BEFORE THIS LINE, USING elif
429
430elif uname -a | grep FreeBSD > /dev/null 2>&1 ; then
a7e8ffec 431 # following is replaced by port install
832b75ed 432 PREFIX=@@PREFIX@@
832b75ed 433
a7e8ffec
GI
434 # Updated to try both the RCNG version of things from 5.x, or fallback to
435 # oldfashioned rc.conf
436
437 if [ -r /etc/rc.subr ]; then
438 # This is RC-NG, pick up our values
832b75ed 439 . /etc/rc.subr
a7e8ffec
GI
440 name="smartd"
441 rcvar="smartd_enable"
442 command="$SMARTD_BIN"
832b75ed
GG
443 load_rc_config $name
444 elif [ -r /etc/defaults/rc.conf ]; then
a7e8ffec 445 # Not a 5.x system, try the default location for variables
832b75ed
GG
446 . /etc/defaults/rc.conf
447 source_rc_confs
448 elif [ -r /etc/rc.conf ]; then
a7e8ffec 449 # Worst case, fallback to system config file
832b75ed
GG
450 . /etc/rc.conf
451 fi
452
a7e8ffec
GI
453 if [ -r /etc/rc.subr ]; then
454 # Use new functionality from RC-NG
832b75ed
GG
455 run_rc_command "$1"
456 else
457 PID_FILE=/var/run/smartd.pid
458 case "$1" in
459 start)
460 $SMARTD_BIN -p $PID_FILE $smartd_flags
461 echo -n " smartd"
462 ;;
463 stop)
464 kill `cat $PID_FILE`
465 echo -n " smartd"
466 ;;
467 restart)
468 $0 stop
469 sleep 1
470 $0 start
471 ;;
a7e8ffec
GI
472 reload)
473 kill -s HUP `cat $PID_FILE`
474 ;;
475 report)
476 kill -s USR1 `cat $PID_FILE`
477 ;;
832b75ed 478 *)
a7e8ffec 479 echo "Usage: $0 {start|stop|restart|reload|report}"
832b75ed
GG
480 exit 1
481 esac
832b75ed
GG
482 exit 0
483 fi
a7e8ffec 484
832b75ed 485elif uname -a | grep SunOS > /dev/null 2>&1 ; then
a7e8ffec
GI
486
487 # Source configuration file. This should define the shell variable smartd_opts.
488 # Email smartmontools-support@lists.sourceforge.net if there is a better choice
489 # of path for Solaris
832b75ed
GG
490
491 [ -r /etc/default/smartmontools ] && . /etc/default/smartmontools
492
493 PID_FILE=/var/run/smartd.pid
a7e8ffec 494
832b75ed
GG
495 case "$1" in
496 start)
497 $SMARTD_BIN -p $PID_FILE $smartd_opts
498 echo -n "smartd "
499 ;;
500 stop)
501 [ -f $PID_FILE ] && kill `cat $PID_FILE`
502 echo -n "smartd "
503 ;;
504 restart)
505 $0 stop
506 sleep 1
507 $0 start
508 ;;
a7e8ffec
GI
509 reload)
510 kill -s HUP `cat $PID_FILE`
511 ;;
512 report)
513 kill -s USR1 `cat $PID_FILE`
514 ;;
832b75ed 515 *)
a7e8ffec 516 echo "Usage: $0 {start|stop|restart|reload|report}"
832b75ed
GG
517 exit 1
518 esac
832b75ed
GG
519 exit 0
520
521# Cygwin
522elif uname | grep -i CYGWIN > /dev/null 2>&1 ; then
523
a7e8ffec 524 # The following settings may be changed by the configuration file below
832b75ed
GG
525 # Service Name (must be unique)
526 smartd_svcname=smartd
527 # Service display name
528 smartd_svcdisp="CYGWIN smartd"
529 # Service description
530 smartd_svcdesc="\
531Controls and monitors storage devices using the Self-Monitoring \
532Analysis and Reporting Technology System (S.M.A.R.T.) \
533built into ATA and SCSI Hard Drives. \
534http://smartmontools.sourceforge.net/"
535
a7e8ffec
GI
536 # Source configuration file. This should define the shell variable smartd_opts.
537 # Email smartmontools-support@lists.sourceforge.net if there is a better choice
538 # of path for Cygwin
832b75ed
GG
539
540 [ -r /etc/sysconfig/smartmontools ] && . /etc/sysconfig/smartmontools
541
542 PID_FILE=/var/run/smartd.pid
543 RETVAL=0
544
545 # Note: "[ -r $PID_FILE ]" is not used here. On Cygwin, this command may
546 # return success even if the file is present but cannot be read by current user.
547 # If smartd is running as service, smartd.pid is owned by local system account
548 # which is different from any user ever executing this script.
549
550 case "$1" in
551 start)
552 if cygrunsrv -L 2>/dev/null | grep "^${smartd_svcname}$" >/dev/null 2>&1; then
553 echo -n "Starting service $smartd_svcname: "
554 cygrunsrv -S "$smartd_svcname"
555 else
556 echo -n "Starting smartd as daemon: "
557 $SMARTD_BIN -p $PID_FILE $smartd_opts
558 fi
559 RETVAL=$?
560 ;;
561 stop)
562 echo -n "Shutting down smartd: "
563 pid="`cat $PID_FILE 2>/dev/null`" && kill "$pid"
564 RETVAL=$?
565 ;;
566 reload)
567 echo -n "Reloading smartd configuration: "
568 pid="`cat $PID_FILE 2>/dev/null`" && kill -HUP "$pid"
569 RETVAL=$?
570 ;;
571 report)
572 echo -n "Checking SMART devices now: "
573 pid="`cat $PID_FILE 2>/dev/null`" && kill -USR1 "$pid"
574 RETVAL=$?
575 ;;
576 restart)
577 $0 stop
578 sleep 1
579 $0 start
580 exit $?
581 ;;
582 install)
583 shift
584 [ $# -eq 0 ] || smartd_opts="$*"
a23d5117 585 dep=; dep2=
832b75ed 586 if cygrunsrv -L 2>/dev/null | grep "^syslogd$" >/dev/null 2>&1; then
a23d5117
GI
587 dep="syslogd"
588 fi
589 if cygrunsrv -L 2>/dev/null | grep "^syslog-ng" >/dev/null 2>&1; then
590 dep2="syslog-ng"
591 fi
592 if [ -z "$dep" ]; then
593 if [ -z "$dep2" ]; then
594 echo "Warning: no syslog service installed, smartd will write to windows event log.";
595 else
596 dep="$dep2"
597 fi
832b75ed 598 else
a23d5117
GI
599 if [ -z "$dep2" ]; then
600 :
601 else
602 dep=
603 echo "Warning: both syslogd and syslog-ng installed, dependency not set."
604 fi
832b75ed 605 fi
a23d5117
GI
606 echo "Installing service ${smartd_svcname}${dep:+ (depending on '$dep')}${smartd_opts:+ with options '$smartd_opts'}:"
607 cygrunsrv -I "$smartd_svcname" -d "$smartd_svcdisp" -f "$smartd_svcdesc" ${dep:+-y} $dep \
608 -e CYGWIN="$CYGWIN" -p $SMARTD_BIN -a "-n -p ${PID_FILE}${smartd_opts:+ }$smartd_opts"
832b75ed
GG
609 RETVAL=$?
610 ;;
611 remove)
612 echo "Removing service $smartd_svcname:"
613 cygrunsrv -R "$smartd_svcname"
614 RETVAL=$?
615 ;;
616 status)
617 echo -n "Checking smartd status: "
618 if cygrunsrv -L 2>/dev/null | grep "^${smartd_svcname}$" >/dev/null 2>&1; then
619 if cygrunsrv -Q "$smartd_svcname" 2>/dev/null | grep "State *: Running" >/dev/null 2>&1; then
620 echo "running as service '$smartd_svcname'."
621 elif ps -e 2>/dev/null | grep " ${SMARTD_BIN}$" >/dev/null 2>&1; then
622 echo "installed as service '$smartd_svcname' but running as daemon."
623 else
624 echo "installed as service '$smartd_svcname' but not running."
625 RETVAL=1
626 fi
627 elif ps -e 2>/dev/null | grep " ${SMARTD_BIN}$" >/dev/null 2>&1; then
628 echo "running as daemon."
629 else
630 echo "not running."
631 RETVAL=1
632 fi
633 exit $RETVAL
634 ;;
635 *)
636 echo "Usage: $0 {start|stop|restart|reload|report|status}"
637 echo " $0 {install [options]|remove}"
638 exit 1
639 esac
640
641 if [ "$RETVAL" -eq 0 ]; then echo "done"; else echo "ERROR"; fi
642 exit $RETVAL
643
644# Add other OSes HERE, using elif...
645else
646 report_unsupported "Unknown"
647fi
648
649# One should NEVER arrive here, except for a badly written case above,
a7e8ffec 650# that fails to exit.
832b75ed
GG
651echo "SOMETHING IS WRONG WITH THE SMARTD STARTUP SCRIPT"
652echo "PLEASE CONTACT smartmontools-support@lists.sourceforge.net"
653exit 1