smartd.conf

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
SMARTD.CONF(5)			  2004/09/10		       SMARTD.CONF(5)



NAME
       smartd.conf - SMART Disk Monitoring Daemon Configuration File


FULL PATH
       /etc/smartd.conf


PACKAGE VERSION
       smartmontools-5.33 released 2004/09/10 at 04:11:35 UTC


DESCRIPTION
       /etc/smartd.conf	 is  the  configuration	 file  for the smartd daemon,
       which monitors the Self-Monitoring, Analysis and Reporting  Technology
       (SMART)	system	built  into  many ATA-3 and later ATA, IDE and SCSI-3
       hard drives.

       If the configuration file /etc/smartd.conf is present, smartd reads it
       at  startup,  before  fork(2)ing into the background. If smartd subse-
       quently receives a HUP signal, it will then re-read the	configuration
       file.   If  smartd  is  running in debug mode, then an INT signal will
       also make it re-read the configuration file. This signal can be gener-
       ated by typing <CONTROL-C> in the terminal window where smartd is run-
       ning.



CONFIGURATION FILE /etc/smartd.conf
       In the absence of a configuration file, under Linux smartd will try to
       open  the  20  ATA  devices  /dev/hd[a-t]  and  the  26	SCSI  devices
       /dev/sd[a-z].  Under FreeBSD, smartd will try to open all existing ATA
       devices	(with  entries	in  /dev) /dev/ad[0-9]+ and all existing SCSI
       devices /dev/da[0-9]+.  Under NetBSD/OpenBSD, smartd will try to	 open
       all existing ATA devices (with entries in /dev) /dev/wd[0-9]+c and all
       existing SCSI devices /dev/sd[0-9]+c.  Under Solaris smartd  will  try
       to  open	 all  entries  "/dev/rdsk/c?t?d?s?" for IDE/ATA and SCSI disk
       devices, and entries "/dev/rmt/*" for SCSI tape devices.	  Under	 Win-
       dows  smartd  will try to open all entries "/dev/hd[a-j]" ("\\.\Physi-
       calDrive[0-9]") for IDE/ATA devices on WinNT4/2000/XP,  "/dev/hd[a-d]"
       (bitmask from "\\.\SMARTVSD") for IDE/ATA devices on Win95/98/98SE/ME,
       and "/dev/scsi[0-3][0-7]" (ASPI adapter 0-3, ID 0-7) for SCSI  devices
       on  all	versions  of Windows.  Under Darwin, smartd will open any ATA
       block storage device.

       This can be annoying if you have an ATA or SCSI device that  hangs  or
       misbehaves  when	 receiving  SMART  commands.   Even if this causes no
       problems, you may be annoyed by the string of error log messages about
       block-major  devices  that can´t be found, and SCSI devices that can´t
       be opened.

       One can avoid this problem, and gain more control over  the  types  of
       events	monitored   by	 smartd,  by  using  the  configuration	 file
       /etc/smartd.conf.  This file contains a list of	devices	 to  monitor,
       with one device per line.  An example file is included with the smart-
       montools distribution. You will find this sample configuration file in
       /usr/share/doc/smartmontools-5.33/.  For	 security,  the configuration
       file should not be writable by anyone but root. The syntax of the file
       is as follows:

       ·   There  should be one device listed per line, although you may have
	   lines that are entirely comments or white space.

       ·   Any text following a hash sign ´#´ and up to the end of  the	 line
	   is taken to be a comment, and ignored.

       ·   Lines  may  be continued by using a backslash ´\´ as the last non-
	   whitespace or non-comment item on a line.

       ·   Note: a line whose first character is a hash sign ´#´  is  treated
	   as  a white-space blank line, not as a non-existent line, and will
	   end a continuation line.

       Here is an example configuration file.  It´s for illustrative purposes
       only; please don´t copy it onto your system without reading to the end
       of the DIRECTIVES Section below!

       ################################################
       # This is an example smartd startup config file
       # /etc/smartd.conf for monitoring three
       # ATA disks, three SCSI disks, and six ATA disks
       # behind two 3ware controllers.
       #
       # First ATA disk on each of two interfaces. On
       # the second disk, start a long self-test every
       # Sunday between 3 and 4 am.
       #
	 /dev/hda -a -m admin@example.com,root@localhost
	 /dev/hdc -a -I 194 -I 5 -i 12 -s L/../../7/03
       #
       # SCSI disks. Send a TEST warning email to admin on
       # startup.
       #
	 /dev/sda
	 /dev/sdb -m admin@example.com -M test
       #
       # Strange device. It´s SCSI. Start a scheduled
       # long self test between 5 and 6 am Monday/Thursday
	 /dev/weird -d scsi -s L/../../(1|4)/05
       #
       # Four ATA disks on a 3ware 6/7/8000 controller.
       # Start short self-tests daily between midnight and 1am,
       # 1-2, 2-3, and 3-4 am
       # (Note that the syntax /dev/twe0 is also allowed.)
	 /dev/sdc -d 3ware,0 -a -s S/../.././00
	 /dev/sdc -d 3ware,1 -a -s S/../.././01
	 /dev/sdd -d 3ware,2 -a -s S/../.././02
	 /dev/sdd -d 3ware,3 -a -s S/../.././03
       #
       # Two ATA disks on a 3ware 9000 controller.
       # Start long self-tests Sundays between midnight and
       # 1am and 2-3 am
	 /dev/twa0 -d 3ware,0 -a -s L/../../7/00
	 /dev/twa0 -d 3ware,1 -a -s L/../../7/02
       #
       # The following line enables monitoring of the
       # ATA Error Log and the Self-Test Error Log.
       # It also tracks changes in both Prefailure
       # and Usage Attributes, apart from Attributes
       # 9, 194, and 231, and shows continued lines:
       #
	 /dev/hdd -l error \
		  -l selftest \
		  -t \	    # Attributes not tracked:
		  -I 194 \  # temperature
		  -I 231 \  # also temperature
		  -I 9	    # power-on hours
       #
       ################################################



CONFIGURATION FILE DIRECTIVES
       If the first non-comment entry in the configuration file is  the	 text
       string  DEVICESCAN  in  capital	letters,  then smartd will ignore any
       remaining lines in the configuration file, and will scan for  devices.
       DEVICESCAN may optionally be followed by Directives that will apply to
       all devices that are found in the scan.	Please see  below  for	addi-
       tional details.



       The  following are the Directives that may appear following the device
       name or DEVICESCAN on any line of the  /etc/smartd.conf	configuration
       file.  Note  that  these are NOT command-line options for smartd.  The
       Directives below may appear in any order, following the device name.

       For an ATA device, if no Directives appear, then the  device  will  be
       monitored  as if the ´-a´ Directive (monitor all SMART properties) had
       been given.

       If a SCSI disk is listed, it will be monitored at the  maximum  imple-
       mented level: roughly equivalent to using the ´-H -l selftest´ options
       for an ATA disk.	 So with the exception of ´-d´, ´-m´, ´-l  selftest´,
       ´-s´,  and ´-M´, the Directives below are ignored for SCSI disks.  For
       SCSI disks, the ´-m´ Directive sends a warning email if the SMART sta-
       tus  indicates  a  disk	failure or problem, if the SCSI inquiry about
       disk status fails, or if new errors appear in the self-test log.

       If a 3ware controller is used then the corresponding  SCSI  (/dev/sd?)
       or  character  device  (/dev/twe?  or /dev/twa?) must be listed, along
       with the ´-d 3ware,N´ Directive (see below).  The individual ATA disks
       hosted by the 3ware controller appear to smartd as normal ATA devices.
       Hence all the ATA directives can be used for these disks (but see note
       below).


       -d TYPE
	      Specifies	 the  type of the device.  This Directive may be used
	      multiple times for one device, but  the  arguments  ata,	scsi,
	      cciss,N and 3ware,N are mutually-exclusive. If more than one is
	      given then smartd will use the last one which appears.

	      If none of these three arguments is  given,  then	 smartd	 will
	      first  attempt  to  guess the device type by looking at whether
	      the sixth character in the device name is an  ´s´	 or  an	 ´h´.
	      This  will work for device names like /dev/hda or /dev/sdb, and
	      corresponds to choosing ata or  scsi  respectively.  If  smartd
	      can´t  guess from this sixth character, then it will simply try
	      to access the device using first ATA and then SCSI ioctl()s.

	      The valid arguments to this Directive are:

	      ata - the device type is ATA.  This prevents smartd from	issu-
	      ing SCSI commands to an ATA device.

	      scsi  -  the  device  type  is SCSI.  This prevents smartd from
	      issuing ATA commands to a SCSI device.

	      3ware,N - the device consists of one or  more  ATA  disks	 con-
	      nected  to  a 3ware RAID controller. The non-negative integer N
	      (in the range from 0 to 31 inclusive) denotes which disk on the
	      controller  is monitored.	 In log files and email messages this
	      disk will be identified as 3ware_disk_XX with XX in  the	range
	      from 00 to 31 inclusive.

	      This Directive may at first appear confusing, because the 3ware
	      controller is a SCSI device (such as /dev/sda)  and  should  be
	      listed as such in the the configuration file.  However when the
	      ´-d 3ware,N´ Directive is used, then the corresponding disk  is
	      addressed	 using native ATA commands which are ´passed through´
	      the SCSI driver. All ATA Directives listed in this man page may
	      be  used.	  Note	that  while you may use any of the 3ware SCSI
	      logical devices /dev/sd? to address any of the  physical	disks
	      (3ware  ports), error and log messages will make the most sense
	      if you always list the 3ware SCSI logical device	corresponding
	      to  the particular physical disks.  Please see the smartctl man
	      page for further details.

	      ATA  disks  behind  3ware	 controllers  may  alternatively   be
	      accessed	via  a character device interface /dev/twe0-15 (3ware
	      6000/7000/8000 controllers) and /dev/twa0-15 (3ware 9000 series
	      controllers).   Note  that the 9000 series controllers may only
	      be accessed using the character device  interface	 /dev/twa0-15
	      and  not	the  SCSI  device interface /dev/sd?.  Please see the
	      smartctl man page for further details.

	      Note that	 older	3w-xxxx	 drivers  do  not  pass	 the  ´Enable
	      Autosave´	 (-S  on) and ´Enable Automatic Offline´ (-o on) com-
	      mands to the disk, if the SCSI interface is used,	 and  produce
	      these  types  of	harmless  syslog error messages instead: ´3w-
	      xxxx: tw_ioctl(): Passthru size (123392) too big´. This can  be
	      fixed  by	 upgrading to version 1.02.00.037 or later of the 3w-
	      xxxx driver, or by applying a patch  to  older  versions.	  See
	      http://smartmontools.sourceforge.net/ for instructions.  Alter-
	      natively	use  the  character  device  interfaces	 /dev/twe0-15
	      (3ware 6/7/8000 series controllers) or /dev/twa0-15 (3ware 9000
	      series controllers).

	      cciss,N - the device consists of one or more  SCSI  disks	 con-
	      nected  to  a cciss RAID controller. The non-negative integer N
	      (in the range from 0 to 15 inclusive) denotes which disk on the
	      controller  is monitored.	 In log files and email messages this
	      disk will be identified as cciss_disk_XX with XX in  the	range
	      from 00 to 15 inclusive.	cciss,N

	      3ware  and cciss controllers are currently ONLY supported under
	      Linux.

	      removable - the device or its media is removable.	  This	indi-
	      cates  to	 smartd	 that it should continue (instead of exiting,
	      which is the default behavior) if the device does not appear to
	      be  present when smartd is started.  This Directive may be used
	      in conjunction with the other ´-d´ Directives.


       -n POWERMODE
	      This ´nocheck´ Directive is used to prevent a disk  from	being
	      spun-up when it is periodically polled by smartd.

	      ATA  disks  have	five  different	 power	states.	 In  order of
	      increasing  power	 consumption  they   are:   ´OFF´,   ´SLEEP´,
	      ´STANDBY´,  ´IDLE´, and ´ACTIVE´.	 Typically in the OFF, SLEEP,
	      and STANDBY modes the disk´s platters  are  not  spinning.  But
	      usually,	in  response  to SMART commands issued by smartd, the
	      disk platters are spun up.  So if this option is not used, then
	      a disk which is in a low-power mode may be spun up and put into
	      a higher-power mode when it is periodically polled by smartd.

	      Note that if the disk is in SLEEP mode when smartd is  started,
	      then it won’t respond to smartd commands, and so the disk won’t
	      be registered as a device for smartd to monitor. If a  disk  is
	      in any other low-power mode, then the commands issued by smartd
	      to register the disk will probably cause it to spin-up.

	      The ´-n´ (nocheck) Directive  specifies  if  smartd´s  periodic
	      checks  should  still  be	 carried  out when the device is in a
	      low-power mode.  It may be used to prevent a  disk  from	being
	      spun-up by periodic smartd polling.  The allowed values of POW-
	      ERMODE are:

	      never - smartd will poll (check) the device regardless  of  its
	      power  mode.  This  may  cause  a disk which is spun-down to be
	      spun-up when smartd checks it.  This is the default behavior if
	      the ’-n’ Directive is not given.

	      sleep - check the device unless it is in SLEEP mode.

	      standby  -  check	 the  device unless it is in SLEEP or STANDBY
	      mode.  In these modes most disks are not spinning,  so  if  you
	      want  to	prevent a laptop disk from spinning up each time that
	      smartd polls, this is probably what you want.

	      idle - check the device unless it is in SLEEP, STANDBY or	 IDLE
	      mode.   In  the  IDLE  state, most disks are still spinning, so
	      this is probably not what you want.



       -T TYPE
	      Specifies how tolerant smartd should be of SMART command	fail-
	      ures.  The valid arguments to this Directive are:

	      normal  -	 do  not try to monitor the disk if a mandatory SMART
	      command fails, but continue if an optional SMART command fails.
	      This is the default.

	      permissive - try to monitor the disk even if it appears to lack
	      SMART capabilities.  This may be required for  some  old	disks
	      (prior  to  ATA-3 revision 4) that implemented SMART before the
	      SMART standards were incorporated into the ATA/ATAPI Specifica-
	      tions.   This  may  also	be needed for some Maxtor disks which
	      fail to comply with the ATA Specifications and  don’t  properly
	      indicate support for error- or self-test logging.

	      [Please see the smartctl -T command-line option.]

       -o VALUE
	      Enables or disables SMART Automatic Offline Testing when smartd
	      starts up and has no further effect.  The	 valid	arguments  to
	      this Directive are on and off.

	      The  delay  between  tests is vendor-specific, but is typically
	      four hours.

	      Note that SMART Automatic Offline Testing is not	part  of  the
	      ATA  Specification.   Please  see	 the smartctl -o command-line
	      option documentation for further information  about  this	 fea-
	      ture.

       -S VALUE
	      Enables  or  disables  Attribute Autosave when smartd starts up
	      and has no further effect.  The valid arguments to this  Direc-
	      tive  are	 on and off.  Also affects SCSI devices.  [Please see
	      the smartctl -S command-line option.]

       -H     Check the SMART health status of the disk.  If  any  Prefailure
	      Attributes  are  less  than or equal to their threshold values,
	      then disk failure is predicted in less than  24  hours,  and  a
	      message  at  loglevel  ´LOG_CRITICAL´ will be logged to syslog.
	      [Please see the smartctl -H command-line option.]

       -l TYPE
	      Reports increases in the number of errors in  one	 of  the  two
	      SMART logs.  The valid arguments to this Directive are:

	      error  - report if the number of ATA errors reported in the ATA
	      Error Log has increased since the last check.

	      selftest - report if the number of failed tests reported in the
	      SMART  Self-Test	Log has increased since the last check, or if
	      the timestamp associated with the most recent failed  test  has
	      increased.   Note	 that  such errors will only be logged if you
	      run self-tests on the disk (and it fails a test!).   Self-Tests
	      can  be run automatically by smartd: please see the ´-s´ Direc-
	      tive below.  Self-Tests can also be run manually by  using  the
	      ´-t short´ and ´-t long´ options of smartctl and the results of
	      the testing can be observed using	 the  smartctl	´-l selftest´
	      command-line option.]

	      [Please see the smartctl -l and -t command-line options.]

       -s REGEXP
	      Run  Self-Tests or Offline Immediate Tests, at scheduled times.
	      A Self- or Offline Immediate Test will be run  at	 the  end  of
	      periodic	device	polling,  if  all 12 characters of the string
	      T/MM/DD/d/HH match  the  extended	 regular  expression  REGEXP.
	      Here:

	      T	  is  the  type of the test.  The values that smartd will try
		  to match (in turn) are: ´L´ for a Long Self-Test, ´S´ for a
		  Short Self-Test, ´C´ for a Conveyance Self-Test (ATA only),
		  and ´O´ for an Offline Immediate Test (ATA only).  As	 soon
		  as  a match is found, the test will be started and no addi-
		  tional matches will be sought	 for  that  device  and	 that
		  polling cycle.

	      MM  is  the  month of the year, expressed with two decimal dig-
		  its.	The range is  from  01	(January)  to  12  (December)
		  inclusive.   Do not use a single decimal digit or the match
		  will always fail!

	      DD  is the day of the month, expressed with two decimal digits.
		  The  range is from 01 to 31 inclusive.  Do not use a single
		  decimal digit or the match will always fail!

	      d	  is the day of the week, expressed with one  decimal  digit.
		  The range is from 1 (Monday) to 7 (Sunday) inclusive.

	      HH  is  the  hour	 of the day, written with two decimal digits,
		  and given in hours after midnight.  The range is  00	(mid-
		  night	 to  just before 1am) to 23 (11pm to just before mid-
		  night) inclusive.  Do not use a single decimal digit or the
		  match will always fail!

	      Some  examples  follow.  In reading these, keep in mind that in
	      extended regular expressions a dot ´.´ matches any single char-
	      acter, and a parenthetical expression such as ´(A|B|C)´ denotes
	      any one of the three possibilities A, B, or C.

	      To schedule a short Self-Test between 2-3am every morning, use:
	       -s S/../.././02
	      To  schedule  a long Self-Test between 4-5am every Sunday morn-
	      ing, use:
	       -s L/../../7/04
	      To schedule a long Self-Test between 10-11pm on the  first  and
	      fifteenth day of each month, use:
	       -s L/../(01|15)/./22
	      To  schedule  an	Offline	 Immediate test after every midnight,
	      6am, noon,and 6pm, plus a Short Self-Test daily at 1-2am and  a
	      Long Self-Test every Saturday at 3-4am, use:
	       -s (O/../.././(00|06|12|18)|S/../.././01|L/../../6/03)

	      Scheduled	 tests	are  run immediately following the regularly-
	      scheduled device polling, if the current local date, time,  and
	      test  type,  match  REGEXP.  By default the regularly-scheduled
	      device polling  occurs  every  thirty  minutes  after  starting
	      smartd.	Take  caution if you use the ´-i´ option to make this
	      polling interval more than sixty minutes: the  poll  times  may
	      fail  to	coincide  with any of the testing times that you have
	      specified with REGEXP, and so the self tests may not take place
	      as you wish.

	      Before  running  an  offline  or self-test, smartd checks to be
	      sure that a self-test is not already running.  If	 a  self-test
	      is  already  running,  then  this running self test will not be
	      interrupted to begin another test.

	      smartd will not attempt to run any type of test if another test
	      was already started or run in the same hour.

	      Each  time  a  test is run, smartd will log an entry to SYSLOG.
	      You can use these to verify that you  constructed	 REGEXP	 cor-
	      rectly.	The  matching  order  (L  before S before C before O)
	      ensures that if multiple test types are all scheduled  for  the
	      same  hour,  the longer test type has precedence.	 This is usu-
	      ally the desired behavior.

	      Unix users: please beware that the rules for  extended  regular
	      expressions  [regex(7)]  are  not	 the  same  as	the rules for
	      file-name pattern matching by the shell [glob(7)].  smartd will
	      issue  harmless  informational  warning  messages if it detects
	      characters in REGEXP that appear to indicate that you have made
	      this mistake.


       -m ADD Send  a  warning	email  to  the email address ADD if the ´-H´,
	      ´-l´, ´-f´, ´-C´, or ´-O´ Directives detect a failure or a  new
	      error,  or if a SMART command to the disk fails. This Directive
	      only works in conjunction with these other Directives (or	 with
	      the equivalent default ´-a´ Directive).

	      To  prevent your email in-box from getting filled up with warn-
	      ing messages, by default only a single warning will be sent for
	      each  of	the  enabled  alert types, ´-H´, ´-l´, ´-f´, ´-C´, or
	      ´-O´ even if more than one failure or error is detected  or  if
	      the failure or error persists.  [This behavior can be modified;
	      see the ´-M´ Directive below.]

	      To send email to more than one user, please use  the  following
	      "comma	  separated"	  form	    for	     the     address:
	      user1@add1,user2@add2,...,userN@addN (with no spaces).

	      To test that email is being sent correctly, use the  ´-M	test´
	      Directive	 described  below  to  send one test email message on
	      smartd startup.

	      By default, email is sent using the system  mail	command.   In
	      order that smartd find the mail command (normally /bin/mail) an
	      executable named ´mail´ must be in the path  of  the  shell  or
	      environment  from	 which	smartd	was  started.  If you wish to
	      specify an explicit path to the mail  executable	(for  example
	      /usr/local/bin/mail)  or a custom script to run, please use the
	      ´-M exec´ Directive below.

	      Note that by default under Solaris, in the previous  paragraph,
	      ´mailx´  and  ´/bin/mailx´  are used, since Solaris ´/bin/mail´
	      does not accept a ´-s´ (Subject) command-line argument.

	      On Windows, the ´Blat´ mailer (http://blat.sourceforge.net/) is
	      used  by	default.   This	 mailer uses a different command line
	      syntax, see ´-M exec´ below.

	      Note also that there is a special argument <nomailer> which can
	      be  given	 to  the  ´-m´	Directive in conjunction with the ´-M
	      exec´ Directive. Please see below for  an	 explanation  of  its
	      effect.

	      If  the mailer or the shell running it produces any STDERR/STD-
	      OUT output, then a snippet of that output	 will  be  copied  to
	      SYSLOG.	The remainder of the output is discarded. If problems
	      are encountered in sending mail, this should help you to under-
	      stand  and  fix  them.  If you have mail problems, we recommend
	      running smartd in debug mode with the ´-d´ flag, using the  ´-M
	      test´ Directive described below.

	      The  following extension is available on Windows: By specifying
	      ´msgbox´ as a mail address, a warning "email" is displayed as a
	      message  box  on	the  screen.  Using both ´msgbox´ and regular
	      mail addresses is possible, if ´msgbox´ is the  first  word  in
	      the  comma  separated  list.   With ´sysmsgbox´, a system modal
	      (always on top) message box is used. If running as a service, a
	      service notification message box (always shown on current visi-
	      ble desktop) is used.


       -M TYPE
	      These Directives modify the behavior of the smartd email	warn-
	      ings  enabled  with  the	´-m´ email Directive described above.
	      These ´-M´ Directives only work in conjunction  with  the	 ´-m´
	      Directive and can not be used without it.

	      Multiple	-M Directives may be given.  If conflicting -M Direc-
	      tives are given (example: -M once -M daily) then the final  one
	      (in the example, -M daily) is used.

	      The valid arguments to the -M Directive are:

	      once  - send only one warning email for each type of disk prob-
	      lem detected.  This is the default.

	      daily - send additional warning reminder emails, once per	 day,
	      for each type of disk problem detected.

	      diminishing  - send additional warning reminder emails, after a
	      one-day interval, then a	two-day	 interval,  then  a  four-day
	      interval,	 and  so  on  for each type of disk problem detected.
	      Each interval is twice as long as the previous interval.

	      test -  send  a  single  test  email  immediately	 upon  smartd
	      startup.	 This  allows  one  to verify that email is delivered
	      correctly.

	      exec PATH - run the executable PATH instead of the default mail
	      command,	when  smartd needs to send email.  PATH must point to
	      an executable binary file or script.

	      By setting PATH to point to a customized script, you  can	 make
	      smartd  perform  useful  tricks when a disk problem is detected
	      (beeping the console, shutting down the  machine,	 broadcasting
	      warnings	to all logged-in users, etc.)  But please be careful.
	      smartd will block until the executable PATH returns, so if your
	      executable  hangs,  then	smartd	will  also  hang. Some sample
	      scripts are included in /usr/share/doc/smartmontools-5.33/exam-
	      plescripts/.

	      The  return  status  of the executable is recorded by smartd in
	      SYSLOG. The executable is not expected to write  to  STDOUT  or
	      STDERR.	If  it	does,  then this is interpreted as indicating
	      that something is going wrong with your executable, and a frag-
	      ment  of	this output is logged to SYSLOG to help you to under-
	      stand the problem.  Normally, if you wish to leave some  record
	      behind,  the  executable should send mail or write to a file or
	      device.

	      Before running the executable, smartd sets a number of environ-
	      ment  variables.	 These	environment  variables may be used to
	      control the executable´s behavior.  The  environment  variables
	      exported by smartd are:

	      SMARTD_MAILER
		  is  set  to  the argument of -M exec, if present or else to
		  ´mail´ (examples: /bin/mail, mail).

	      SMARTD_DEVICE
		  is set to the device path (examples: /dev/hda, /dev/sdb).

	      SMARTD_DEVICETYPE
		  is set to the device	type  (possible	 values:  ata,	scsi,
		  3ware,N).  Here  N=0,...,31  denotes	the ATA disk behind a
		  3ware RAID controller.

	      SMARTD_DEVICESTRING
		  is set to the device description.  For SMARTD_DEVICETYPE of
		  ata  or scsi, this is the same as SMARTD_DEVICE.  For 3ware
		  RAID	 controllers,	the   form    used    is    ´/dev/sdc
		  [3ware_disk_01]´. In this case the device string contains a
		  space and is NOT quoted.  So to use $SMARTD_DEVICESTRING in
		  a  bash  script  you	should	probably enclose it in double
		  quotes.

	      SMARTD_FAILTYPE
		  gives the reason for the warning  or	message	 email.	  The
		  possible values that it takes and their meanings are:
		  EmailTest: this is an email test message.
		  Health: the SMART health status indicates imminent failure.
		  Usage: a usage Attribute has failed.
		  SelfTest: the number of self-test failures has increased.
		  ErrorCount: the number of errors in the ATA error  log  has
		  increased.
		  CurrentPendingSector: one of more disk sectors could not be
		  read and are marked to be reallocated (replaced with	spare
		  sectors).
		  OfflineUncorrectableSector:  during  off-line	 testing,  or
		  self-testing, one or more disk sectors could not be read.
		  FailedHealthCheck: the SMART health status command  failed.
		  FailedReadSmartData:	the  command  to read SMART Attribute
		  data failed.
		  FailedReadSmartErrorLog: the	command	 to  read  the	SMART
		  error log failed.
		  FailedReadSmartSelfTestLog:  the  command to read the SMART
		  self-test log failed.
		  FailedOpenDevice: the open() command to the device  failed.

	      SMARTD_ADDRESS
		  is  determined  by  the  address  argument  ADD of the ´-m´
		  Directive.  If ADD is <nomailer>,  then  SMARTD_ADDRESS  is
		  not  set.  Otherwise, it is set to the comma-separated-list
		  of email addresses given by the argument ADD, with the com-
		  mas  replaced	 by  spaces (example:admin@example.com root).
		  If more than one email address is given, then	 this  string
		  will	contain space characters and is NOT quoted, so to use
		  it in a bash script you may want to enclose  it  in  double
		  quotes.

	      SMARTD_MESSAGE
		  is  set  to  the one sentence summary warning email message
		  string from smartd.  This  message  string  contains	space
		  characters  and is NOT quoted. So to use $SMARTD_MESSAGE in
		  a bash script you should  probably  enclose  it  in  double
		  quotes.

	      SMARTD_FULLMESSAGE
		  is  set to the contents of the entire email warning message
		  string from smartd.  This message string contains space and
		  return   characters	and   is   NOT	 quoted.  So  to  use
		  $SMARTD_FULLMESSAGE in a bash script	you  should  probably
		  enclose it in double quotes.

	      SMARTD_TFIRST
		  is  a	 text  string  giving  the time and date at which the
		  first problem of this type was reported. This	 text  string
		  contains  space  characters  and  no	newlines,  and is NOT
		  quoted. For example:
		  Sun Feb  9 14:58:19 2003 CST

	      SMARTD_TFIRSTEPOCH
		  is an integer, which is the unix epoch (number  of  seconds
		  since Jan 1, 1970) for SMARTD_TFIRST.

	      The  shell  which	 is used to run PATH is system-dependent. For
	      vanilla Linux/glibc it´s bash. For other systems, the man	 page
	      for popen(3) should say what shell is used.

	      If  the ´-m ADD´ Directive is given with a normal address argu-
	      ment, then the executable pointed to by PATH will be run	in  a
	      shell  with  STDIN receiving the body of the email message, and
	      with the same command-line arguments:
	      -s "$SMARTD_SUBJECT" $SMARTD_ADDRESS
	      that would normally be provided to ´mail´.  Examples include:
	      -m user@home -M exec /bin/mail
	      -m admin@work -M exec /usr/local/bin/mailto
	      -m root -M exec /Example_1/bash/script/below

	      Note that on Windows, the syntax of the ´Blat´ mailer is used:
	      - -q -subject "$SMARTD_SUBJECT" -to "$SMARTD_ADDRESS"

	      If the ´-m ADD´ Directive is given  with	the  special  address
	      argument	<nomailer>  then the executable pointed to by PATH is
	      run in a shell with no STDIN and no command-line arguments, for
	      example:
	      -m <nomailer> -M exec /Example_2/bash/script/below
	      If  the  executable  produces  any  STDERR/STDOUT	 output, then
	      smartd assumes that something is going wrong, and a snippet  of
	      that  output  will  be  copied to SYSLOG.	 The remainder of the
	      output is then discarded.

	      Some EXAMPLES of scripts that can be used with  the  ´-M	exec´
	      Directive	 are  given  below.  Some  sample  scripts  are	 also
	      included in  /usr/share/doc/smartmontools-5.33/examplescripts/.


       -f     Check   for  ´failure´  of  any  Usage  Attributes.   If	these
	      Attributes are less than or equal to the threshold, it does NOT
	      indicate imminent disk failure.  It "indicates an advisory con-
	      dition where the usage or age of the device  has	exceeded  its
	      intended design life period."  [Please see the smartctl -A com-
	      mand-line option.]

       -p     Report anytime that a Prefail Attribute has changed  its	value
	      since  the last check, 30 minutes ago. [Please see the smartctl
	      -A command-line option.]

       -u     Report anytime that a Usage Attribute  has  changed  its	value
	      since  the last check, 30 minutes ago. [Please see the smartctl
	      -A command-line option.]

       -t     Equivalent to turning on the two previous flags ´-p´ and	´-u´.
	      Tracks  changes  in  all device Attributes (both Prefailure and
	      Usage). [Please see the smartctl -A command-line option.]

       -i ID  Ignore device Attribute number ID when checking for failure  of
	      Usage  Attributes.   ID  must be a decimal integer in the range
	      from 1 to 255.  This Directive modifies  the  behavior  of  the
	      ´-f´ Directive and has no effect without it.

	      This  is	useful,	 for example, if you have a very old disk and
	      don´t want to keep getting messages about the hours-on-lifetime
	      Attribute	 (usually  Attribute  9) failing.  This Directive may
	      appear multiple times for a  single  device,  if	you  want  to
	      ignore multiple Attributes.

       -I ID  Ignore  device  Attribute	 ID  when  tracking  changes  in  the
	      Attribute values.	 ID must be a decimal integer  in  the	range
	      from  1  to  255.	  This Directive modifies the behavior of the
	      ´-p´, ´-u´, and ´-t´ tracking  Directives	 and  has  no  effect
	      without one of them.

	      This is useful, for example, if one of the device Attributes is
	      the disk temperature  (usually  Attribute	 194  or  231).	 It´s
	      annoying	to  get	 reports  each	time the temperature changes.
	      This Directive may appear multiple times for a  single  device,
	      if you want to ignore multiple Attributes.

       -r ID  When  tracking, report the Raw value of Attribute ID along with
	      its (normally reported) Normalized value.	 ID must be a decimal
	      integer  in  the	range from 1 to 255.  This Directive modifies
	      the behavior of the ´-p´, ´-u´, and  ´-t´	 tracking  Directives
	      and  has	no effect without one of them.	This Directive may be
	      given multiple times.

	      A common use of this Directive is to track the device  Tempera-
	      ture (often ID=194 or 231).


       -R ID  When  tracking,  report  whenever the Raw value of Attribute ID
	      changes.	(Normally smartd only tracks/reports changes  of  the
	      Normalized  Attribute values.)  ID must be a decimal integer in
	      the range from 1 to 255.	This Directive modifies the  behavior
	      of  the  ´-p´,  ´-u´,  and  ´-t´ tracking Directives and has no
	      effect without one of them.  This Directive may be given multi-
	      ple times.

	      If  this	Directive is given, it automatically implies the ´-r´
	      Directive for the same Attribute, so that the Raw value of  the
	      Attribute is reported.

	      A	 common use of this Directive is to track the device Tempera-
	      ture (often ID=194 or 231).  It is also useful for  understand-
	      ing  how	different types of system behavior affects the values
	      of certain Attributes.


       -C ID  [ATA only] Report if the current number of pending  sectors  is
	      non-zero.	  Here ID is the id number of the Attribute whose raw
	      value is the Current Pending Sector count.  The  allowed	range
	      of  ID  is 0 to 255 inclusive.  To turn off this reporting, use
	      ID = 0.  If the -C ID option is not given, then it defaults  to
	      -C  197 (since Attribute 197 is generally used to monitor pend-
	      ing sectors).

	      A pending sector is a disk sector (containing 512 bytes of your
	      data) which the device would like to mark as ‘‘bad" and reallo-
	      cate.  Typically this is because your computer  tried  to	 read
	      that  sector,  and  the  read failed because the data on it has
	      been corrupted and has inconsistent Error Checking and  Correc-
	      tion  (ECC) codes.  This is important to know, because it means
	      that there is some unreadable data on the disk.  The problem of
	      figuring out what file this data belongs to is operating system
	      and file system specific.	 You can typically force  the  sector
	      to  reallocate  by  writing to it (translation: make the device
	      substitute a spare good sector for the  bad  one)	 but  at  the
	      price of losing the 512 bytes of data stored there.


       -U ID  [ATA  only]  Report if the number of offline uncorrectable sec-
	      tors is non-zero.	 Here ID is the id number  of  the  Attribute
	      whose raw value is the Offline Uncorrectable Sector count.  The
	      allowed range of ID is 0 to 255 inclusive.  To  turn  off	 this
	      reporting,  use ID = 0.  If the -U ID option is not given, then
	      it defaults to -U 198 (since Attribute 198 is generally used to
	      monitor offline uncorrectable sectors).


	      An  offline uncorrectable sector is a disk sector which was not
	      readable during an off-line  scan	 or  a	self-test.   This  is
	      important to know, because if you have data stored in this disk
	      sector, and you need to read it, the read	 will  fail.   Please
	      see the previous ´-C´ option for more details.


       -F TYPE
	      [ATA  only]  Modifies  the behavior of smartd to compensate for
	      some known and understood device firmware bug.   The  arguments
	      to  this Directive are exclusive, so that only the final Direc-
	      tive given is used.  The valid values are:

	      none - Assume that the device firmware obeys the ATA specifica-
	      tions.   This is the default, unless the device has presets for
	      ´-F´ in the device database.

	      samsung  -  In  some  Samsung  disks  (example:  model  SV4012H
	      Firmware	Version:  RM100-08)  some  of  the two- and four-byte
	      quantities in the SMART data structures are byte-swapped (rela-
	      tive  to	the  ATA  specification).  Enabling this option tells
	      smartd to evaluate these	quantities  in	byte-reversed  order.
	      Some  signs  that	 your disk needs this option are (1) no self-
	      test log printed, even though you have run self-tests; (2) very
	      large  numbers of ATA errors reported in the ATA error log; (3)
	      strange and impossible values for the ATA error log timestamps.

	      samsung2	-  In  more  recent Samsung disks (firmware revisions
	      ending in "-23") the number of  ATA  errors  reported  is	 byte
	      swapped.	 Enabling  this	 option tells smartd to evaluate this
	      quantity in byte-reversed order.

	      Note that an explicit ´-F´ Directive will over-ride any  preset
	      values for ´-F´ (see the ´-P´ option below).


	      [Please see the smartctl -F command-line option.]


       -v N,OPTION
	      Modifies the labeling for Attribute N, for disks which use non-
	      standard Attribute definitions.  This is useful  in  connection
	      with the Attribute tracking/reporting Directives.

	      This  Directive  may  appear multiple times. Valid arguments to
	      this Directive are:

	      9,minutes - Raw Attribute number 9 is power-on time in minutes.
	      Its raw value will be displayed in the form ´Xh+Ym´.  Here X is
	      hours, and Y is minutes in the  range  0-59  inclusive.	Y  is
	      always  printed  with  two  digits, for example ´06´ or ´31´ or
	      ´00´.

	      9,seconds - Raw Attribute number 9 is power-on time in seconds.
	      Its raw value will be displayed in the form ´Xh+Ym+Zs´.  Here X
	      is hours, Y is minutes in the range 0-59 inclusive,  and	Z  is
	      seconds  in  the	range  0-59  inclusive.	  Y  and Z are always
	      printed with two digits, for example ´06´ or ´31´ or ´00´.

	      9,halfminutes - Raw Attribute number 9 is power-on  time,	 mea-
	      sured in units of 30 seconds.  This format is used by some Sam-
	      sung disks.  Its raw  value  will	 be  displayed	in  the	 form
	      ´Xh+Ym´.	 Here  X is hours, and Y is minutes in the range 0-59
	      inclusive.  Y is always printed with two	digits,	 for  example
	      ´06´ or ´31´ or ´00´.

	      9,temp - Raw Attribute number 9 is the disk temperature in Cel-
	      sius.

	      192,emergencyretractcyclect - Raw Attribute number 192  is  the
	      Emergency Retract Cycle Count.

	      193,loadunload  - Raw Attribute number 193 contains two values.
	      The first is the number of load cycles.  The second is the num-
	      ber  of unload cycles.  The difference between these two values
	      is the number of times that the drive was unexpectedly  powered
	      off  (also called an emergency unload). As a rule of thumb, the
	      mechanical stress created by one emergency unload is equivalent
	      to that created by one hundred normal unloads.

	      194,10xCelsius - Raw Attribute number 194 is ten times the disk
	      temperature in Celsius.  This is used  by	 some  Samsung	disks
	      (example: model SV1204H with RK100-13 firmware).

	      194,unknown - Raw Attribute number 194 is NOT the disk tempera-
	      ture, and its interpretation is unknown. This is primarily use-
	      ful for the -P (presets) Directive.

	      198,offlinescanuncsectorct  -  Raw  Attribute number 198 is the
	      Offline Scan UNC Sector Count.

	      200,writeerrorcount - Raw Attribute number  200  is  the	Write
	      Error Count.

	      201,detectedtacount  - Raw Attribute number 201 is the Detected
	      TA Count.

	      220,temp - Raw Attribute number 220 is the disk temperature  in
	      Celsius.

	      Note:  a	table  of  hard drive models, listing which Attribute
	      corresponds to  temperature,  can	 be  found  at:	 http://core-
	      dump.free.fr/linux/hddtemp.db

	      N,raw8  -	 Print	the  Raw  value	 of  Attribute N as six 8-bit
	      unsigned base-10 integers.  This may be useful for decoding the
	      meaning  of the Raw value.  The form ´N,raw8´ prints Raw values
	      for ALL Attributes  in  this  form.   The	 form  (for  example)
	      ´123,raw8´  only prints the Raw value for Attribute 123 in this
	      form.

	      N,raw16 - Print the Raw value of Attribute N  as	three  16-bit
	      unsigned base-10 integers.  This may be useful for decoding the
	      meaning of the Raw value.	 The form ´N,raw16´ prints Raw values
	      for  ALL	Attributes  in	this  form.   The  form (for example)
	      ´123,raw16´ only prints the Raw value for Attribute 123 in this
	      form.

	      N,raw48  -  Print	 the  Raw  value  of  Attribute N as a 48-bit
	      unsigned base-10 integer.	 This may be useful for decoding  the
	      meaning of the Raw value.	 The form ´N,raw48´ prints Raw values
	      for ALL Attributes  in  this  form.   The	 form  (for  example)
	      ´123,raw48´ only prints the Raw value for Attribute 123 in this
	      form.


       -P TYPE
	      Specifies whether smartd should use any preset options that are
	      available	 for  this drive.  The valid arguments to this Direc-
	      tive are:

	      use - use any presets that are available for this drive.	 This
	      is the default.

	      ignore - do not use any presets for this drive.

	      show  - show the presets listed for this drive in the database.

	      showall - show the presets that are available  for  all  drives
	      and then exit.

	      [Please see the smartctl -P command-line option.]


       -a     Equivalent  to turning on all of the following Directives: ´-H´
	      to check the SMART health status, ´-f´ to	 report	 failures  of
	      Usage  (rather  than Prefail) Attributes, ´-t´ to track changes
	      in both  Prefailure  and	Usage  Attributes,  ´-l selftest´  to
	      report  increases	 in  the  number  of  Self-Test	 Log  errors,
	      ´-l error´ to report increases in the number of ATA errors, ´-C
	      197´  to	report	nonzero	 values of the current pending sector
	      count, and ´-U 198´ to report nonzero  values  of	 the  offline
	      pending sector count.

	      Note  that -a is the default for ATA devices.  If none of these
	      other Directives is given, then -a is assumed.


       #      Comment: ignore the remainder of the line.

       \      Continuation character: if this is the last non-white  or	 non-
	      comment  character on a line, then the following line is a con-
	      tinuation of the current one.

       If you are not sure which Directives to use, I  suggest	experimenting
       for  a  few minutes with smartctl to see what SMART functionality your
       disk(s) support(s).  If you do not like voluminous syslog messages,  a
       good choice of smartd configuration file Directives might be:
       -H -l selftest -l error -f.
       If you want more frequent information, use: -a.


       ADDITIONAL DETAILS ABOUT DEVICESCAN
	      If the first non-comment entry in the configuration file is the
	      text string DEVICESCAN in capital	 letters,  then	 smartd	 will
	      ignore  any remaining lines in the configuration file, and will
	      scan for devices.

	      If DEVICESCAN is not followed by any  Directives,	 then  smartd
	      will  scan  for both ATA and SCSI devices, and will monitor all
	      possible SMART properties of any devices that are found.

	      DEVICESCAN may optionally be followed by any valid  Directives,
	      which  will  be  applied	to  all devices that are found in the
	      scan.  For example
	      DEVICESCAN -m root@example.com
	      will scan for all devices, and then monitor them.	 It will send
	      one email warning per device for any problems that are found.
	      DEVICESCAN -d ata -m root@example.com
	      will do the same, but restricts the scan to ATA devices only.
	      DEVICESCAN -H -d ata -m root@example.com
	      will  do the same, but only monitors the SMART health status of
	      the devices, (rather than the default -a,	 which	monitors  all
	      SMART properties).


       EXAMPLES OF SHELL SCRIPTS FOR ´-M exec´
	      These  are  two examples of shell scripts that can be used with
	      the ´-M exec PATH´ Directive described previously.   The	paths
	      to  these	 scripts and similar executables is the PATH argument
	      to the ´-M exec PATH´ Directive.

	      Example 1: This script is for use	 with  ´-m  ADDRESS  -M	 exec
	      PATH´.   It  appends the output of smartctl -a to the output of
	      the smartd email warning message and sends it to ADDRESS.


	      #! /bin/bash

	      # Save the email message (STDIN) to a file:
	      cat > /root/msg

	      # Append the output of smartctl -a to the message:
	      /usr/sbin/smartctl -a -d $SMART_DEVICETYPE $SMARTD_DEVICE >> /root/msg

	      # Now email the message to the user at address ADD:
	      /bin/mail -s "$SMARTD_SUBJECT" $SMARTD_ADDRESS < /root/msg

	      Example 2: This script is for use with ´-m <nomailer>  -M	 exec
	      PATH´.  It  warns all users about a disk problem, waits 30 sec-
	      onds, and then powers down the machine.


	      #! /bin/bash

	      # Warn all users of a problem
	      wall ´Problem detected with disk: ´ "$SMARTD_DEVICESTRING"
	      wall ´Warning message from smartd is: ´ "$SMARTD_MESSAGE"
	      wall ´Shutting down machine in 30 seconds... ´

	      # Wait half a minute
	      sleep 30

	      # Power down the machine
	      /sbin/shutdown -hf now

	      Some example scripts are	distributed  with  the	smartmontools
	      package,	in /usr/share/doc/smartmontools-5.33/examplescripts/.

	      Please note that these scripts typically run as  root,  so  any
	      files  that  they read/write should not be writable by ordinary
	      users or reside in directories like /tmp that are	 writable  by
	      ordinary users and may expose your system to symlink attacks.

	      As  previously  described,  if  the  scripts write to STDOUT or
	      STDERR, this is interpreted as indicating	 that  there  was  an
	      internal	error  within  the  script,  and  a  snippet  of STD-
	      OUT/STDERR is logged to SYSLOG.  The remainder is flushed.




AUTHOR
       Bruce Allen smartmontools-support@lists.sourceforge.net
       University of Wisconsin - Milwaukee Physics Department



CONTRIBUTORS
       The following have made large contributions to smartmontools:
       Casper Dik (Solaris SCSI interface)
       Christian Franke (Windows interface)
       Douglas Gilbert (SCSI subsystem)
       Guido Guenther (Autoconf/Automake packaging)
       Geoffrey Keating (Darwin ATA interface)
       Eduard Martinescu (FreeBSD interface)
       Frederic L. W. Meunier (Web site and Mailing list)
       Keiji Sawada (Solaris ATA interface)
       Sergey Svishchev (NetBSD interface)
       David Snyder and Sergey Svishchev (OpenBSD interface)
       Phil Williams (User interface and drive database)
       Many other individuals have made	 smaller  contributions	 and  correc-
       tions.



CREDITS
       This  code was derived from the smartsuite package, written by Michael
       Cornwell, and from the previous ucsc smartsuite	package.  It  extends
       these  to  cover	 ATA-5 disks. 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/ .

HOME PAGE FOR SMARTMONTOOLS:
       Please  see the following web site for updates, further documentation,
       bug reports and patches:
       http://smartmontools.sourceforge.net/


SEE ALSO:
       smartd(8),  smartctl(8),	 syslogd(8),  syslog.conf(5),	badblocks(8),
       ide-smart(8), regex(7).


CVS ID OF THIS PAGE:
       $Id: smartd.conf.5.in,v 1.65 2004/09/07 13:01:51 ballen4705 Exp $



smartmontools-5.33		  2004/09/10		       SMARTD.CONF(5)