Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SMARTD.CONF(5)		    SMART Monitoring Tools		SMARTD.CONF(5)

NAME
       smartd.conf - SMART Disk	Monitoring Daemon Configuration	File

DESCRIPTION
       [This  man  page	is generated for the FreeBSD version of	smartmontools.
       It does not contain info	specific to other platforms.]

       /usr/local/etc/smartd.conf is the configuration	file  for  the	smartd
       daemon.

       If the configuration file /usr/local/etc/smartd.conf is present,	smartd
       reads  it at startup.  If smartd	subsequently receives a	HUP signal, it
       will then re-read the configuration file.  If smartd is running in  de-
       bug  mode,  then	an INT signal will also	make it	re-read	the configura-
       tion file.  This	signal can be generated	by typing <CONTROL-C>  in  the
       terminal	window where smartd is running.

       In  the	absence	 of  a	configuration file smartd will try to open all
       available devices (see smartd(8)	man page).  A configuration file  with
       a single	line 'DEVICESCAN -a' would have	the same effect.

       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 prob-
       lems, you may be	annoyed	by the string of error log messages about  de-
       vices 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  /usr/lo-
       cal/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/local/share/doc/smartmontools/.   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
       # /usr/local/etc/smartd.conf
       #
       # On the	second disk, start a long self-test every
       # Sunday	between	3 and 4	am.
       #
       /dev/sda	-a -m admin@example.com,root@localhost
       /dev/sdb	-a -I 194 -I 5 -i 12 -s	L/../../7/03
       #
       # Send a	TEST warning email to admin on startup.
       #
       /dev/sdc	-m admin@example.com -M	test
       #
       # An ATA	disk may appear	as a SCSI device to the
       # OS.  If a SCSI	to ATA Translation (SAT) layer
       # is between the	OS and the device then this can	be
       # flagged with the '-d sat' option.
       /dev/sda	-a -d sat
       #
       # Disks connected to a MegaRAID controller
       # Start short self-tests	daily between 1-2, 2-3,	and
       # 3-4 am.
       # FreeBSD:
       /dev/mfi0 -d megaraid,0 -a -s S/../.././01
       /dev/mfi0 -d megaraid,1 -a -s S/../.././02
       /dev/mfi0 -d megaraid,2 -a -s S/../.././03
       /dev/mrsas0 -d megaraid,2 -a -s S/../.././03
       #
       # Two SATA (not SAS) disks on a 3ware 9750 controller.
       # Start long self-tests Sundays between midnight	and
       # 1 am and 2-3 am
       # under FreeBSD
       /dev/tws0 -d 3ware,0 -a -s L/../../7/00
       /dev/tws0 -d 3ware,1 -a -s L/../../7/02
       #
       # Three SATA disks on a HighPoint RocketRAID controller.
       # Start short self-tests	daily between 1-2, 2-3,	and
       # 3-4 am.
       # under FreeBSD
       /dev/hptrr -d hpt,1/1 -a	-s S/../.././01
       /dev/hptrr -d hpt,1/2 -a	-s S/../.././02
       /dev/hptrr -d hpt,1/3 -a	-s S/../.././03
       #
       # Two SATA disks	connected to a HighPoint RocketRAID
       # via a pmport device.  Start long self-tests Sundays
       # between midnight and 1	am and 2-3 am.
       # under FreeBSD
       /dev/hptrr -d hpt,1/4/1 -a -s L/../../7/00
       /dev/hptrr -d hpt,1/4/2 -a -s L/../../7/02
       #
       # Three SATA disks connected to an Areca
       # RAID controller.  Start long self-tests Sundays
       # between midnight and 3	am.
       # under FreeBSD
       /dev/arcmsr0 -d areca,1 -a -s L/../../7/00
       /dev/arcmsr0 -d areca,2 -a -s L/../../7/01
       /dev/arcmsr0 -d areca,3 -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/sdd	-l error \
	    -l selftest	\
	    -t \	 # Attributes not tracked:
	    -I 194 \	 # temperature
	    -I 231 \	 # also	temperature
	    -I 9	 # power-on hours
       #
       ################################################

DEVICESCAN
       If a non-comment	entry in the configuration file	is the text string DE-
       VICESCAN	 in  capital  letters,	then  smartd will ignore any remaining
       lines in	the configuration file,	and will scan  for  devices.   If  DE-
       VICESCAN	is not followed	by any Directives, then	'-a' will apply	to all
       devices.

       DEVICESCAN  may optionally be followed by Directives that will apply 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 -H -m root@example.com

       will  do	the same, but only monitors the	SMART health status of the de-
       vices, rather than the default '-a'.

       Multiple	'-d TYPE' options may be specified with	DEVICESCAN to  combine
       the scan	results	of more	than one TYPE.

       Configuration  entries  for specific devices may	precede	the DEVICESCAN
       entry.  For example

	 DEFAULT -m root@example.com
	 /dev/sda -s S/../.././02
	 /dev/sdc -d ignore
	 DEVICESCAN -s L/../.././02

       will scan for all devices except	/dev/sda and /dev/sdc,	monitor	 them,
       and run a long test between 2-3 am every	morning.  Device /dev/sda will
       also  be	monitored, but only a short test will be run.  Device /dev/sdc
       will be ignored.	 Warning emails	will be	sent  for  all	monitored  de-
       vices.

       A device	is ignored by DEVICESCAN if a configuration line with the same
       device  name  exists.  Symbolic links are resolved before this check is
       done.  A	device name is also ignored if another device with same	 iden-
       tify  information (vendor, model, firmware version, serial number, WWN)
       already exists.

       [NVMe: NEW EXPERIMENTAL SMARTD 7.5 FEATURE] If a	device only supports a
       single namespace	and a configuration line which addresses its namespace
       id already exists, a DEVICESCAN result which does not address  a	 name-
       space is	also ignored (and vice versa).

DEFAULT	SETTINGS
       If  an entry in the configuration file starts with DEFAULT instead of a
       device name, then all directives	in this	entry are set as defaults  for
       the next	device entries.

       This configuration:

	 DEFAULT -a -R5! -W 2,40,45 -I 194 -s L/../../7/00 -m admin@example.com
	 /dev/sda
	 /dev/sdb
	 /dev/sdc
	 DEFAULT -H -m admin@example.com
	 /dev/sdd
	 /dev/sde -d removable

       has the same effect as:

	 /dev/sda -a -R5! -W 2,40,45 -I	194 -s L/../../7/00 -m admin@example.com
	 /dev/sdb -a -R5! -W 2,40,45 -I	194 -s L/../../7/00 -m admin@example.com
	 /dev/sdc -a -R5! -W 2,40,45 -I	194 -s L/../../7/00 -m admin@example.com
	 /dev/sdd -H -m	admin@example.com
	 /dev/sde -d removable -H -m admin@example.com

CONFIGURATION FILE DIRECTIVES
       The  following  are the Directives that may appear following the	device
       name  or	 DEVICESCAN  or	 DEFAULT  on  any   line   of	the   /usr/lo-
       cal/etc/smartd.conf  configuration  file.  Note that these are NOT com-
       mand-line options for smartd.  The Directives below may appear  in  any
       order, following	the device name.

       If  no  Directives  appear, then	the device will	be monitored as	if the
       '-a' Directive had been given.

       -d TYPE
	      Specifies	the type of the	device.	 The valid arguments  to  this
	      directive	are:

	      auto  - attempt to guess the device type from the	device name or
	      from controller type info	provided by the	 operating  system  or
	      from a matching USB ID entry in the drive	database.  This	is the
	      default.

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

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

	      nvme[,NSID]  -  the  device type is NVM Express (NVMe).  The op-
	      tional parameter NSID specifies the namespace id (in hex)	passed
	      to the driver.  Use 0xffffffff for the broadcast	namespace  id.
	      The default for NSID is the namespace id addressed by the	device
	      name.

	      sat[,auto][,N]  -	 the  device  type  is SCSI to ATA Translation
	      (SAT).  This is for ATA disks that have a	SCSI to	 ATA  Transla-
	      tion  Layer  (SATL)  between  the	disk and the operating system.
	      SAT defines two ATA PASS THROUGH SCSI  commands,	one  12	 bytes
	      long  and	 the  other 16 bytes long.  The	default	is the 16 byte
	      variant which can	be overridden with either '-d sat,12'  or  '-d
	      sat,16'.

	      If  '-d  sat,auto'  is  specified, device	type SAT (for ATA/SATA
	      disks) is	only used if the SCSI  INQUIRY	data  reports  a  SATL
	      (VENDOR:	"ATA	 ").  Otherwise	device type SCSI (for SCSI/SAS
	      disks) is	used.

	      usbasm1352r,PORT - [NEW EXPERIMENTAL SMARTD  7.4	FEATURE]  this
	      device  type is for one or two SATA disks	that are behind	an AS-
	      Media ASM1352R USB to SATA (RAID)	bridge.	 The parameter PORT (0
	      or 1) selects the	disk to	monitor.
	      Note: This USB bridge also supports '-d sat'.  This monitors ei-
	      ther the first disk or the second	disk if	no disk	 is  connected
	      to the first port.

	      usbcypress - this	device type is for ATA disks that are behind a
	      Cypress USB to PATA bridge.  This	will use the ATACB proprietary
	      scsi  pass  through command.  The	default	SCSI operation code is
	      0x24,  but  although  it	can  be	 overridden  with  '-d	usbcy-
	      press,0xN',  where  N is the scsi	operation code,	you're running
	      the risk of damage to the	device or filesystems on it.

	      usbjmicron[,p][,x][,PORT]	- this device type is for  SATA	 disks
	      that  are	 behind	a JMicron USB to PATA/SATA bridge.  The	48-bit
	      ATA commands (required e.g. for '-l xerror', see below)  do  not
	      work with	all of these bridges and are therefore disabled	by de-
	      fault.   These commands can be enabled by	'-d usbjmicron,x'.  If
	      two disks	are connected to a bridge with	two  ports,  an	 error
	      message is printed if no PORT (0 or 1) is	specified.
	      The  PORT	 parameter  is not necessary if	the device uses	a port
	      multiplier to connect multiple disks to one port.	 The disks ap-
	      pear under separate /dev/ice names then.
	      CAUTION: Specifying ',x' for a device which does not support  it
	      results  in  I/O	errors and may disconnect the drive.  The same
	      applies if the specified PORT does not exist or is not connected
	      to a disk.

	      The Prolific PL2507/3507 USB bridges with	older firmware support
	      a	pass-through command similar to	JMicron	and work with '-d usb-
	      jmicron,0'.  Newer Prolific firmware requires a modified command
	      which can	be selected by '-d usbjmicron,p'.  Note	that this does
	      not yet support the SMART	status command.

	      usbprolific - this device	type is	for SATA disks that are	behind
	      a	Prolific PL2571/2771/2773/2775 USB to SATA bridge.

	      usbsunplus - this	device type is for SATA	disks that are	behind
	      a	SunplusIT USB to SATA bridge.

	      sntasmedia[/sat]	-  this	device type is for NVMe	disks that are
	      behind an	ASMedia	USB to NVMe bridge.
	      [NEW EXPERIMENTAL	SMARTD 7.5 FEATURE] If the  '/sat'  suffix  is
	      specified	 and  the  NVMe	Identify Controller command fails, the
	      device type is changed to	'-d sat'.  This	is useful for USB  M.2
	      adapters which support NVMe and SATA devices.

	      sntjmicron[,NSID][/sat]  -  this	device	type is	for NVMe disks
	      that are behind a	JMicron	USB to NVMe bridge.  The optional  pa-
	      rameter  NSID  specifies the namespace id	(in hex) passed	to the
	      driver.  The default namespace id	is the broadcast namespace  id
	      (0xffffffff).  See also '-d sntasmedia' for the '/sat' suffix.

	      sntrealtek[/sat]	-  this	device type is for NVMe	disks that are
	      behind a Realtek USB to NVMe bridge.  See	also  '-d  sntasmedia'
	      for the '/sat' suffix.

	      megaraid,N - [FreeBSD and	Linux only] the	device consists	of one
	      or  more SCSI/SAS	disks connected	to a MegaRAID controller.  The
	      non-negative integer N (in the range of 0	to 127 inclusive)  de-
	      notes which disk on the controller is monitored.	This interface
	      will  also  work	for  Dell  PERC	controllers.  In log files and
	      email messages this disk will be identified as megaraid_disk_XXX
	      with XXX in the range from 000 to	127 inclusive.	Please see the
	      smartctl(8) man page for further details.

	      3ware,N -	[FreeBSD and Linux only] the device consists of	one or
	      more ATA disks connected to a 3ware RAID controller.   The  non-
	      negative	integer	 N  (in	the range from 0 to 127	inclusive) de-
	      notes which disk on the controller is monitored.	In  log	 files
	      and   email   messages   this   disk   will   be	identified  as
	      3ware_disk_XXX with XXX in the range from	000 to 127 inclusive.

	      Note that	while you may use any of the 3ware  SCSI  logical  de-
	      vices  /dev/tw*  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(8) man  page
	      for further details.

	      areca,N  -  [FreeBSD, Linux, Windows and Cygwin only] the	device
	      consists of one or more SATA disks connected to  an  Areca  SATA
	      RAID controller.	The positive integer N (in the range from 1 to
	      24 inclusive) denotes which disk on the controller is monitored.
	      In  log files and	email messages this disk will be identified as
	      areca_disk_XX with XX in the range  from	01  to	24  inclusive.
	      Please see the smartctl(8) man page for further details.

	      areca,N/E	- [FreeBSD, Linux, Windows and Cygwin only] the	device
	      consists	of one or more SATA or SAS disks connected to an Areca
	      SAS RAID controller.  The	integer	N (range 1 to 128) denotes the
	      channel (slot) and E (range 1 to 8) denotes the enclosure.   Im-
	      portant:	This  requires	Areca  SAS controller firmware version
	      1.51 or later.

	      cciss,N -	[FreeBSD and Linux only] the device consists of	one or
	      more SCSI/SAS or SATA disks  connected  to  a  cciss  RAID  con-
	      troller.	The non-negative integer N (in the range from 0	to 127
	      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	127 inclusive.
	      Please see the smartctl(8) man page for further details.

	      hpt,L/M/N	- [FreeBSD and Linux only] the device consists of  one
	      or  more	ATA  disks  connected  to  a HighPoint RocketRAID con-
	      troller.	The integer L is the controller	id, the	integer	 M  is
	      the channel number, and the integer N is the PMPort number if it
	      is  available.   The  allowed values of L	are from 1 to 4	inclu-
	      sive, M are from 1 to 128	inclusive and N	from 1 to 4 if	PMPort
	      available.   And	also  these values are limited by the model of
	      the HighPoint RocketRAID controller.  In	log  files  and	 email
	      messages	this disk will be identified as	hpt_X/X/X and X/X/X is
	      the same as L/M/N, note if no N indicated, N set to the  default
	      value  1.	  Please  see the smartctl(8) man page for further de-
	      tails.

	      intelliprop,N[+TYPE] - (deprecated and subject to	remove).

	      jmb39x[-q[2]],N[,sLBA][,force][+TYPE] - the device  consists  of
	      multiple SATA disks connected to a JMicron JMB39x	RAID port mul-
	      tiplier.	 The  suffix '-q' selects a slightly different command
	      variant used by QNAP TR-004 NAS devices.	The integer N  is  the
	      port number from 0 to 4.
	      [NEW  EXPERIMENTAL  SMARTD 7.5 FEATURE] The suffix '-q2' selects
	      another command variant used by QNAP TR-002 NAS devices.	Please
	      see the smartctl(8) man page for further details.

	      jms56x,N[,sLBA][,force][+TYPE] - the device consists of multiple
	      SATA disks connected to  a  JMicron  JMS56x  USB	to  SATA  RAID
	      bridge.  See 'jmb39x...' above for valid arguments.

	      ignore - the device specified by this configuration entry	should
	      be  ignored.   This  allows one to ignore	specific devices which
	      are detected by a	following DEVICESCAN configuration  line.   It
	      may also be used to temporary disable longer multi-line configu-
	      ration  entries.	This Directive may be used in conjunction with
	      the other	'-d' Directives.

	      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 also sup-
	      presses warning emails and repeated log messages if  the	device
	      is  removed  after  startup.  This Directive may be used in con-
	      junction with the	other '-d' Directives.
	      WARNING: Removing	a device and connecting	 a  different  one  to
	      same interface is	not supported and may result in	bogus warnings
	      until smartd is restarted.

       -n POWERMODE[,N][,q]
	      [ATA  only]  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  in-
	      creasing	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 re-
	      sponse 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 POWERMODE
	      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.

	      Maximum  number of skipped checks	(in a row) can be specified by
	      appending	 positive  number  ',N'	  to   POWERMODE   (like   '-n
	      standby,15').  After N checks are	skipped	in a row, powermode is
	      ignored and the check is performed anyway.

	      When  a  periodic	test is	skipped, smartd	normally writes	an in-
	      formal log message.  The message can be suppressed by  appending
	      the  option  ',q'	to POWERMODE (like '-n standby,q').  This pre-
	      vents a laptop disk from spinning	up due to this message.

	      Both ',N'	and ',q' can be	specified together.

       -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.  [Please see the smartctl -T command-line option.]

       -o VALUE
	      [ATA  only]  Enables or disables SMART Automatic Offline Testing
	      when smartd starts up and	has no further effect.	The valid  ar-
	      guments 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 feature.

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

       -H [MASK]
	      Check  the  health  status  of  the disk.	 If the	disk reports a
	      failing health status, a message at loglevel  LOG_CRIT  will  be
	      logged  to syslog.  [Please see the smartctl -H command-line op-
	      tion.]

	      [ATA] Checks the (boolean) result	returned by the	 SMART	RETURN
	      STATUS command.  The optional parameter MASK is ignored.

	      [SCSI]  Checks  the  Additional  Sense Code (ASC)	and Additional
	      Sense Code Qualifier (ASCQ) from Informal	 Exceptions  (IE)  log
	      page  (if	 supported) and/or from	SCSI sense data.  The optional
	      parameter	MASK is	ignored.
	      Note: for	historical reasons, this check is always done for SCSI
	      devices, regardless of the '-H' directive.

	      [NVMe] Checks the	"Critical Warning" byte	from the  SMART/Health
	      Information  log.	  If  any  warning  bit	 is  set, a message at
	      loglevel LOG_CRIT	will be	logged to syslog.
	      [NVMe: NEW EXPERIMENTAL SMARTD 7.5 FEATURE] If the optional  pa-
	      rameter MASK (hexadecimal) is specified, the check is limited to
	      the warning bits set in MASK.  For example if '-H	0xf9' is spec-
	      ified,  the warning bit 1	("temperature out of range") and bit 2
	      ("reliability degraded") will be ignored.	 '-H 0xff' is the same
	      as '-H' without a	parameter.

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

	      error - [ATA] report if the number of ATA	errors reported	in the
	      Summary SMART error log has increased since the last check.

	      error  -	[NVMe]	report if the "Number of Error Information Log
	      Entries" from the	SMART/Health  Information  log	has  increased
	      since the	last check.
	      [NEW  EXPERIMENTAL  SMARTD 7.4 FEATURE] This will	only be	logged
	      as LOG_CRIT if at	least one of the new errors is	still  present
	      in  the  Error Information log and its status indicates a	device
	      related error.  Up to eight of the most recent of	 these	errors
	      are  logged  as  LOG_INFO	then.  This is useful because the NVMe
	      Error Information	log is not persistent across power  cycles  or
	      device resets.
	      If all new errors	are either no longer present in	the log	or are
	      not  device related (e.g.	invalid	command, invalid field in com-
	      mand, ...), a  LOG_INFO  message	is  generated  instead.	  This
	      avoids misleading	warnings if the	operating system issues	unsup-
	      ported  commands and the device firmware also logs these kind of
	      errors.

	      xerror - [ATA] report if the number of ATA  errors  reported  in
	      the  Extended  Comprehensive SMART error log has increased since
	      the last check.

	      If both '-l error' and '-l xerror' are specified,	smartd	checks
	      the maximum of both values.

	      [Please see the smartctl -l xerror command-line option.]

	      xerror - [NVMe] same as '-l error'.

	      selftest	- [ATA]	[SCSI] [NVMe: NEW EXPERIMENTAL SMARTD 7.5 FEA-
	      TURE] 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 in-
	      creased.	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'  Directive
	      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' com-
	      mand-line	option.	 [Please see the smartctl -l and  -t  command-
	      line options.]

	      [ATA]  [NVMe:  NEW EXPERIMENTAL SMARTD 7.5 FEATURE] Failed self-
	      tests outdated by	a newer	successful extended self-test are  ig-
	      nored.   The  warning  email  counter  is	reset if the number of
	      failed self tests	dropped	to 0.  This typically happens when  an
	      extended self-test is run	after all bad blocks have been reallo-
	      cated.

	      [NVMe:  NEW  EXPERIMENTAL	SMARTD 7.5 FEATURE] If the device name
	      addresses	an individual namespace, log  entries  with  different
	      namespace	 ids  are ignored.  Entries with unspecified or	broad-
	      cast namespace id	are always checked.

	      offlinests[,ns] -	[ATA only] report if the Offline Data  Collec-
	      tion  status  has	changed	since the last check.  The report will
	      be logged	as LOG_CRIT if the  new	 status	 indicates  an	error.
	      With  some  drives  the  status often changes, therefore '-l of-
	      flinests'	is not enabled by '-a' Directive.  Appending ',ns' (no
	      standby) to this directive is not	implemented on FreeBSD.

	      selfteststs[,ns] - [ATA] [NVMe: NEW EXPERIMENTAL SMARTD 7.5 FEA-
	      TURE] report if the Self-Test execution status has changed since
	      the last check.  The report will be logged as  LOG_CRIT  if  the
	      new  status indicates an error.  Appending ',ns' (no standby) to
	      this directive is	not implemented	on FreeBSD.

	      scterc,READTIME,WRITETIME	- [ATA only] sets the SCT Error	Recov-
	      ery Control settings to the specified values (deciseconds)  when
	      smartd starts up and has no further effect.  Values of 0 disable
	      the  feature,  other  values  less than 65 are probably not sup-
	      ported.  For RAID	configurations,	this is	typically set to 70,70
	      deciseconds.  [Please see	the smartctl  -l  scterc  command-line
	      option.]

       -e NAME[,VALUE]
	      Sets  non-SMART device settings when smartd starts up and	has no
	      further effect.  [Please see the smartctl	--set command-line op-
	      tion.]  Valid arguments are:

	      aam,[N|off] - [ATA only] Sets the	Automatic Acoustic  Management
	      (AAM) feature.

	      apm,[N|off]  -  [ATA  only]  Sets	 the Advanced Power Management
	      (APM) feature.

	      lookahead,[on|off] - [ATA	only] Sets the	read  look-ahead  fea-
	      ture.

	      security-freeze -	[ATA only] Sets	ATA Security feature to	frozen
	      mode.

	      standby,[N|off]  -  [ATA only] Sets the standby (spindown) timer
	      and places the drive in the IDLE mode.

	      wcache,[on|off] -	[ATA only] Sets	the volatile write cache  fea-
	      ture.

	      dsn,[on|off] - [ATA only]	Sets the DSN feature.

       -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  pe-
	      riodic  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.

		  [NVMe: NEW EXPERIMENTAL SMARTD 7.5 FEATURE] For NVMe devices
		  with Self-Test support, use 'L' to start an "Extended"  NVMe
		  Self-Test and	'S' for	a Short	NVMe Self-Test.	 If the	device
		  name	addresses  an  individial  namespace, the test will be
		  started using	this namespace id, otherwise using the	broad-
		  cast namespace id.

		  [ATA	only]  To  run scheduled Selective Self-Tests, use 'n'
		  for next span, 'r' to	redo last span,	 or  'c'  to  continue
		  with	next  span  or	redo last span based on	status of last
		  test.	 The LBA range is based	on the	first  span  from  the
		  last	test.  See the smartctl	-t select,[next|redo|cont] op-
		  tions	for further info.

		  Some disks (e.g. WD) do not preserve the selective self test
		  log across power cycles.  If state persistence ('-s' option)
		  is enabled, the last test span is preserved  by  smartd  and
		  used if (and only if)	the selective self test	log is empty.

	      MM  is the month of the year, expressed with two decimal digits.
		  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 (midnight to
		  just before 1	am) to 23 (11pm	to just	before	midnight)  in-
		  clusive.   Do	 not  use  a single decimal digit or the match
		  will always fail!

	      If the regular expression	contains substrings of the  form  :NNN
	      or  :NNN-LLL,  where NNN and LLL are three decimal digits, stag-
	      gered tests are enabled.	Then a test will also be run if	all 16
	      (or  20)	characters  of	 the   string	T/MM/DD/d/HH:NNN   (or
	      T/MM/DD/d/HH:NNN-LLL)  match the regular expression.  This check
	      is done for up to	seven :NNN or :NNN-LLL found  in  the  regular
	      expression.  The time used for the check is adjusted to the past
	      such that	tests of the first drive are not delayed, tests	of the
	      second  drive are	delayed	by NNN hours, tests of the third drive
	      are delayed by 2*NNN hours, and so on.
	      If LLL is	also specified,	delays are limited  to	LLL  hours  by
	      calculating each individual delay	as:
	      '((DRIVE_INDEX * NNN) mod	(LLL + 1))'.

	      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-3	am every morning, use:
	       -s S/../.././02
	      To schedule a long Self-Test between 4-5 am every	 Sunday	 morn-
	      ing, use:
	       -s L/../../7/04
	      To enable	staggered tests	with delays in three hour steps, use:
	       -s L/../../7/04:003
	      To  enable  staggered tests with delays 0, 3, 6, 9, 1, 4,	7, 10,
	      2, 5, 8, 0, ... hours, use:
	       -s L/../../7/04:003-010
	      To enable	staggered tests	with delays 0, 1, 2, ...,  9,  10,  0,
	      ... hours, use:
	       -s L/../../7/04:001-010
	      To  schedule  a long Self-Test between 10-11 pm on the first and
	      fifteenth	day of each month, use:
	       -s L/../(01|15)/./22
	      To schedule an Offline Immediate test after  every  midnight,  6
	      am, noon,	and 6 pm, plus a Short Self-Test daily at 1-2 am and a
	      Long Self-Test every Saturday at 3-4 am, use:
	       -s (O/../.././(00|06|12|18)|S/../.././01|L/../../6/03)
	      To  enable  staggered  Long Self-Tests with delays in three hour
	      steps, use:
	       -s (O/../.././(00|06|12|18)|S/../.././01|L/../../6/03:003)
	      If Long Self-Tests of a large disks take longer than the	system
	      uptime,  a  full disk test can be	performed by several Selective
	      Self-Tests.  To setup a full test	of a 1 TB disk within 20  days
	      (one 50 GB span each day), run this command once:
		smartctl -t select,0-99999999 /dev/sda
	      To  run  the  next test spans on Monday-Friday between 12-13 am,
	      run smartd with this directive:
	       -s n/../../[1-5]/12

	      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 de-
	      vice polling occurs every	thirty minutes after starting  smartd.
	      Take caution if you use the '-i' option to make this polling in-
	      terval more than sixty minutes: the poll times may fail to coin-
	      cide  with any of	the testing times that you have	specified with
	      REGEXP.  In this case the	test will be run  following  the  next
	      device polling.

	      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 al-
	      ready running, then this running self test will  not  be	inter-
	      rupted 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.

	      To avoid performance problems during system  boot,  smartd  will
	      not  attempt to run any scheduled	tests following	the very first
	      device polling (unless '-q onecheck' is specified).

	      Each time	a test is run, smartd will log	an  entry  to  SYSLOG.
	      You  can	use these or the '-q showtests'	command-line option to
	      verify that you constructed REGEXP correctly.  The matching  or-
	      der (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 usually the desired behavior.

	      If the scheduled tests are used in conjunction with  state  per-
	      sistence	('-s' option), smartd will also	try to match the hours
	      since last shutdown (or 90 days at most).	  If  any  test	 would
	      have  been  started  during downtime, the	longest	(see above) of
	      these tests is run after second device polling.

	      If the '-n' directive is used  and  any  test  would  have  been
	      started  during disk standby time, the longest of	these tests is
	      run when the disk	is active again.

	      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  mis-
	      take.

       -m ADD Send  a  warning email to	the email address ADD if the '-H', '-l
	      error', '-l xerror', '-l selftest', '-f',	'-C',  '-U',  or  '-W'
	      Directives  detect  a failure or a new error, or if a SMART com-
	      mand to the disk fails.  This Directive only works  in  conjunc-
	      tion with	these other Directives (or with	the equivalent default
	      '-a' Directive).

	      To prevent your email in-box from	getting	filled up with warning
	      messages,	 by  default  only  a single warning and (depending on
	      '-s' option) daily reminder emails will be sent for each of  the
	      enabled alert types.  See	the '-M' Directive below for details.

	      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(1) command.  In
	      order that smartd	find this command (normally /usr/bin/mail) the
	      executable 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  be-
	      low.

	      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/STDOUT
	      output, then a snippet of	that output will be copied to  SYSLOG.
	      The  remainder  of the output is discarded.  If problems are en-
	      countered	in sending mail, this should help  you	to  understand
	      and  fix	them.  If you have mail	problems, we recommend running
	      smartd in	debug mode with	the '-d' flag, using the '-M test' Di-
	      rective described	below.

	      If a word	of the comma separated list has	the form '@plugin',  a
	      custom  script /usr/local/etc/smartd_warning.d/plugin is run and
	      the word is removed from the  list  before  sending  mail.   The
	      string  'plugin'	may be any valid name except 'ALL'.  If	'@ALL'
	      is specified, all	scripts	 in  /usr/local/etc/smartd_warning.d/*
	      are  run	instead.   This	 is  handled  by  the  script /usr/lo-
	      cal/etc/smartd_warning.sh	(see also '-M  exec'  below).	Plugin
	      scripts without execute permission are silently ignored.	If any
	      plugin  script  is  missing or fails with	a nonzero exit status,
	      the warning script exits immediately without sending mail.

       -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' Di-
	      rective and can not be used without it.

	      Multiple -M Directives may be given.  If more than  one  of  the
	      following	 three	-M  Directives	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 (one of the  follow-
	      ing three):

	      once - send only one warning email for each type of disk problem
	      detected.	  This	is  the	default	unless state persistence ('-s'
	      option) is enabled.

	      always - [NEW EXPERIMENTAL SMARTD	7.4 FEATURE]  send  additional
	      warning  reminder	emails,	upon each check, for each type of disk
	      problem detected.

	      daily - send additional warning reminder emails, once  per  day,
	      for  each	type of	disk problem detected.	This is	the default if
	      state persistence	('-s' option) is enabled.

	      diminishing - send additional warning reminder emails,  after  a
	      one-day  interval,  then a two-day interval, then	a four-day in-
	      terval, and so on	for each type of disk problem detected.	  Each
	      interval is twice	as long	as the previous	interval.
	      [NEW  EXPERIMENTAL  SMARTD 7.4 FEATURE] The interval length will
	      stay at 32 days after 5 warning reminder emails.

	      If a disk	problem	is no  longer  detected,  the  internal	 email
	      counter  is reset.  If the problem reappears a new warning email
	      is sent immediately.

	      In addition, one may add zero or more of	the  following	Direc-
	      tives:

	      test - send a single test	email immediately upon smartd startup.
	      This  allows  one	 to  verify that email is delivered correctly.
	      Note that	if this	Directive is used, smartd will also  send  the
	      normal email warnings that were enabled with the '-m' Directive,
	      in addition to the single	test email!

	      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/local/share/doc/smartmontools/exam-
	      plescripts/.

	      The exit status of the executable	is recorded by smartd in  SYS-
	      LOG.   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 fragment of
	      this output is logged to SYSLOG to help you  to  understand  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 con-
	      trol the executable's behavior.  The environment	variables  ex-
	      ported by	smartd are:

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

	      SMARTD_DEVICE
		  is set to the	device path (example: /dev/sda).

	      SMARTD_DEVICETYPE
		  is set to the	device type specified  by  '-d'	 directive  or
		  'auto' if none.

	      SMARTD_DEVICESTRING
		  is set to the	device description.  It	starts with SMARTD_DE-
		  VICE and may be followed by an optional controller identifi-
		  cation  (example: /dev/sda [SAT]).  The string may contain a
		  space	and is NOT quoted.

	      SMARTD_DEVICEINFO
		  is set to device identify information.  It includes most  of
		  the info printed by smartctl -i but uses a brief single line
		  format.   This device	info is	also logged when smartd	starts
		  up.  The string contains space characters and	is NOT quoted.

	      SMARTD_FAILTYPE
		  gives	the reason for the warning or message email.  The pos-
		  sible	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.
		  Temperature: Temperature reached critical limit (see -W  di-
		  rective).
		  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'	Direc-
		  tive.	 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  commas  re-
		  placed  by spaces (example:admin@example.com root).  If more
		  than one email address is given, then	this string will  con-
		  tain	space  characters and is NOT quoted, so	to use it in a
		  shell	script you may want to enclose it in double quotes.

	      SMARTD_ADDRESS_ORIG
		  is set to the	original value of SMARTD_ADDRESS  with	'@plu-
		  gin' strings still present.  If there	are no such strings in
		  the '-m' Directive, this variable is NOT set.

	      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 shell 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 shell 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 con-
		  tains	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.

	      SMARTD_PREVCNT
		  is an	integer	specifying the	number	of  previous  messages
		  sent.	 It is set to '0' for the first	message.

	      SMARTD_NEXTDAYS
		  is  an  integer specifying the number	of days	until the next
		  message will be sent.	 It is set to empty on '-M once',  set
		  to '0' on '-M	always'	and set	to '1' on '-M daily'.

	      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 /usr/bin/mail
	      -m admin@work -M exec /usr/local/bin/mailto
	      -m root -M exec /Example_1/shell/script/below

	      If the '-m ADD' Directive	is given with the special address  ar-
	      gument  <nomailer> then the executable pointed to	by PATH	is run
	      in a shell with no STDIN and no command-line arguments, for  ex-
	      ample:
		-m <nomailer> -M exec /Example_2/shell/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' Di-
	      rective are given	below.	Some sample scripts are	also  included
	      in /usr/local/share/doc/smartmontools/examplescripts/.

	      The  executable is run by	the script /usr/local/etc/smartd_warn-
	      ing.sh.  This script formats subject and full message  based  on
	      SMARTD_MESSAGE  and  other  environment variables	set by smartd.
	      The environment variables	SMARTD_SUBJECT and  SMARTD_FULLMESSAGE
	      are set by the script before running the executable.

       -f     [ATA] Check for 'failure'	of any Usage Attributes.  If these At-
	      tributes	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 in-
	      tended  design  life  period."  [Please see the smartctl -A com-
	      mand-line	option.]

	      [NVMe: NEW EXPERIMENTAL SMARTD 7.5 FEATURE] Log a	 message  with
	      LOG_CRIT	level  and  send  a  warning email if the SMART/Health
	      value "Percentage	Used" has changed and exceeds  95  percent  or
	      "Media and Data Integrity	Errors"	has increased.

       -p     [ATA]  Report  anytime  that a Prefail Attribute has changed its
	      value since the last check.  [Please see the  smartctl  -A  com-
	      mand-line	option.]

	      [NVMe:  NEW EXPERIMENTAL SMARTD 7.5 FEATURE] Report anytime that
	      the SMART/Health value "Available	Spare" has changed  its	 value
	      since  the  last check.  This will be logged with	LOG_CRIT level
	      and a warning email will be sent if the value is	below  "Avail-
	      able Spare Threshold".

       -u     [ATA]  Report  anytime  that  a  Usage Attribute has changed its
	      value since the last check.  [Please see the  smartctl  -A  com-
	      mand-line	option.]

	      [NVMe:  NEW EXPERIMENTAL SMARTD 7.5 FEATURE] Report anytime that
	      the SMART/Health value "Percentage Used" or "Media and Data  In-
	      tegrity Errors" has changed its value since the last check.

       -t     Equivalent to turning on the two previous	flags '-p' and '-u'.

       -i ID  [ATA  only]  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 ap-
	      pear multiple times for a	single device, if you want  to	ignore
	      multiple Attributes.

       -I ID  [ATA  only]  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 with-
	      out 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  an-
	      noying  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[!]
	      [ATA  only]  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 Di-
	      rectives 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).

	      If the optional flag '!' is appended, a change of	the Normalized
	      value is considered critical.  The  report  will	be  logged  as
	      LOG_CRIT and a warning email will	be sent	if '-m'	is specified.

       -R ID[!]
	      [ATA  only]  When	tracking, report whenever the Raw value	of At-
	      tribute  ID  changes.   (Normally	 smartd	 only	tracks/reports
	      changes of the Normalized	Attribute values.)  ID must be a deci-
	      mal 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.

	      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 understanding
	      how  different  types  of	 system	behavior affects the values of
	      certain Attributes.

	      If the optional flag '!' is appended, a change of	the Raw	 value
	      is  considered  critical.	 The report will be logged as LOG_CRIT
	      and a warning email will be sent if '-m' is specified.  An exam-
	      ple is '-R 5!' to	warn when new sectors are reallocated.

       -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 pending
	      sectors).	 If the	name of	this Attribute is  changed  by	a  '-v
	      197,FORMAT,NAME' directive, the default is changed to -C 0.

	      If  '+'  is specified, a report is only printed if the number of
	      sectors has increased between two	check cycles.  Some  disks  do
	      not  reset this attribute	when a bad sector is reallocated.  See
	      also '-v 197,increasing' below.

	      The warning email	counter	is reset if the	number of pending sec-
	      tors dropped to 0.  This typically happens when all pending sec-
	      tors have	been reallocated or could be read again.

	      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 Correction
	      (ECC) codes.  This is important to know, because it  means  that
	      there  is	some unreadable	data on	the disk.  The problem of fig-
	      uring out	what file this data belongs to is operating system and
	      file system specific.  You can typically force the sector	to re-
	      allocate by writing to it	(translation: make the device  substi-
	      tute  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 sectors
	      is non-zero.  Here ID is the id number of	 the  Attribute	 whose
	      raw  value  is  the Offline Uncorrectable	Sector count.  The al-
	      lowed range of ID	is 0 to	255 inclusive.	To turn	off  this  re-
	      porting,	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).  If the name of this At-
	      tribute  is  changed  by	a  '-v	198,FORMAT,NAME'  (except  '-v
	      198,FORMAT,Offline_Scan_UNC_SectCt'), directive, the default  is
	      changed to -U 0.

	      If  '+'  is specified, a report is only printed if the number of
	      sectors has increased since the last check cycle.	 Some disks do
	      not reset	this attribute when a bad sector is reallocated.   See
	      also '-v 198,increasing' below.

	      The  warning email counter is reset if the number	of offline un-
	      correctable sectors dropped to 0.	 This typically	 happens  when
	      all offline uncorrectable	sectors	have been reallocated or could
	      be read again.

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

       -W DIFF[,INFO[,CRIT]]
	      Report if	the current temperature	had changed by at  least  DIFF
	      degrees  since  last report, or if new min or max	temperature is
	      detected.	 Report	or Warn	if the temperature is greater or equal
	      than one of INFO or CRIT degrees Celsius.	 If the	limit CRIT  is
	      reached, a message with loglevel LOG_CRIT	will be	logged to sys-
	      log  and	a warning email	will be	send if	'-m' is	specified.  If
	      only the limit INFO is reached, a	message	with loglevel LOG_INFO
	      will be logged.

	      The warning email	counter	is reset if  the  temperature  dropped
	      below INFO or CRIT-5 if INFO is not specified.

	      If  this directive is used in conjunction	with state persistence
	      ('-s' option), the min and max temperature values	are  preserved
	      across  boot  cycles.   The minimum temperature value is not up-
	      dated during the first 30	minutes	after startup.

	      To disable any of	the 3 reports, set the corresponding limit  to
	      0.   Trailing  zero  arguments  may be omitted.  By default, all
	      temperature reports are disabled ('-W 0').

	      To track temperature changes of at least 2 degrees, use:
	      -W 2
	      To log informal messages on temperatures of at least 40 degrees,
	      use:
	      -W 0,40
	      For warning messages/mails on temperatures of at	least  45  de-
	      grees, use:
	      -W 0,0,45
	      To combine all of	the above reports, use:
	      -W 2,40,45

	      [ATA] smartd interprets Attribute	194 or 190 as Temperature Cel-
	      sius  by	default.  This can be changed to Attribute 9 or	220 by
	      the drive	database or by the '-v 9,temp' or '-v 220,temp'	direc-
	      tive.

	      [NVMe] smartd checks the Composite Temperature value reported by
	      the SMART/HealthInformation log.
	      [NEW EXPERIMENTAL	SMARTD 7.5  FIX]  The  individual  Temperature
	      Sensor  values  are  no  longer checked because some devices use
	      these to report other values like	maximum	temperature.

       -F TYPE
	      [ATA only] Modifies the behavior of  smartd  to  compensate  for
	      some  known  and understood device firmware bug.	This directive
	      may be used multiple times.  The valid arguments 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 drive	database.  Using this directive	will  override
	      any preset values.

	      nologdir	-  Suppresses  read attempts of	SMART or GP Log	Direc-
	      tory.  Support for all standard logs is assumed without  an  ac-
	      tual  check.   Some  Intel  SSDs	may freeze if log address 0 is
	      read.

	      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 (relative 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 some Samsung disks the number of  ATA  errors  re-
	      ported  is  byte	swapped.  Enabling this	option tells smartd to
	      evaluate this quantity in	byte-reversed order.

	      samsung3 - Some Samsung disks (at	least  SP2514N	with  Firmware
	      VF100-37)	report a self-test still in progress with 0% remaining
	      when the test was	already	completed.  If this directive is spec-
	      ified,  smartd  will  not	skip the next scheduled	self-test (see
	      Directive	'-s' above) in this case.

	      xerrorlba	- This only affects smartctl.

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

       -v ID,FORMAT[:BYTEORDER][,NAME]
	      [ATA only] Sets a	vendor-specific	raw value print	FORMAT,	an op-
	      tional BYTEORDER and an optional NAME for	 Attribute  ID.	  This
	      directive	 may  be  used multiple	times.	Please see smartctl -v
	      command-line option for further details.

	      The following arguments affect smartd warning output:

	      197,increasing - Raw Attribute number 197	(Current Pending  Sec-
	      tor  Count)  is  not  reset if uncorrectable sectors are reallo-
	      cated.  This sets	'-C 197+' if no	other '-C' directive is	speci-
	      fied.

	      198,increasing - Raw Attribute number 198	(Offline Uncorrectable
	      Sector Count) is not reset if uncorrectable sectors are  reallo-
	      cated.  This sets	'-U 198+' if no	other '-U' directive is	speci-
	      fied.

       -P TYPE
	      [ATA  only]  Specifies  whether smartd should use	any preset op-
	      tions that are available for this	drive.	The valid arguments to
	      this Directive 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 -f -t	-l error -l selftest -l	selfteststs'
	      If none of the above is given, then '-a' is assumed.

	      [ATA  only]  Note:  for  historical reasons, '-C 197 -U 198' are
	      also set by default.

       -c OPTION=VALUE
	      Allows one to override smartd command line options for  specific
	      devices.	Only the following OPTION is currently supported:

       -c i=N, -c interval=N
	      Sets the interval	between	disk checks to N seconds, where	N is a
	      decimal integer.	The minimum allowed value is ten.  The default
	      is  the  value from the '-i N, --interval=N' command line	option
	      or its default of	1800 seconds.

       #      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.

       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/sh

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

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

	      #	Now email the message to the user at address ADD:
	      /usr/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/sh

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

	      #	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/local/share/doc/smartmontools/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  in-
	      ternal  error  within the	script,	and a snippet of STDOUT/STDERR
	      is logged	to SYSLOG.  The	remainder is flushed.

FILES
       /usr/local/etc/smartd.conf
	      full path	of this	file.

SEE ALSO
       smartd(8), smartctl(8), mail(1),	regex(7).

PACKAGE	VERSION
       smartmontools-7.5 2025-04-30 r5714
       $Id: smartd.conf.5.in 5697 2025-04-22 15:02:53Z chrfranke $

smartmontools-7.5		  2025-04-30			SMARTD.CONF(5)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=smartd.conf&sektion=5&manpath=FreeBSD+15.0-RELEASE+and+Ports>

home | help