File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / smartmontools / smartd.conf.5.in
Revision 1.1: download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 16:32:16 2012 UTC (12 years, 4 months ago) by misho
CVS tags: MAIN, HEAD
Initial revision

    1: .ig
    2: Copyright (C) 2002-10 Bruce Allen <smartmontools-support@lists.sourceforge.net>
    3: 
    4: $Id: smartd.conf.5.in,v 1.1 2012/02/21 16:32:16 misho Exp $
    5: 
    6: This program is free software; you can redistribute it and/or modify it
    7: under the terms of the GNU General Public License as published by the Free
    8: Software Foundation; either version 2, or (at your option) any later
    9: version.
   10: 
   11: You should have received a copy of the GNU General Public License (for
   12: example COPYING); if not, write to the Free Software Foundation, Inc., 675
   13: Mass Ave, Cambridge, MA 02139, USA.
   14: 
   15: This code was originally developed as a Senior Thesis by Michael Cornwell
   16: at the Concurrent Systems Laboratory (now part of the Storage Systems
   17: Research Center), Jack Baskin School of Engineering, University of
   18: California, Santa Cruz. http://ssrc.soe.ucsc.edu/
   19: ..
   20: .TH SMARTD.CONF 5 CURRENT_SVN_DATE CURRENT_SVN_VERSION CURRENT_SVN_DATE
   21: .SH NAME
   22: \fBsmartd.conf\fP \- SMART Disk Monitoring Daemon Configuration File\fP
   23: 
   24: .\" %IF NOT OS Windows
   25: .SH FULL PATH
   26: .B /usr/local/etc/smartd.conf
   27: 
   28: .\" %ENDIF NOT OS Windows
   29: .SH PACKAGE VERSION
   30: CURRENT_SVN_VERSION CURRENT_SVN_DATE CURRENT_SVN_REV
   31: 
   32: .SH DESCRIPTION
   33: .\" %IF NOT OS ALL
   34: .\"! [This man page is generated for the OS_MAN_FILTER version of smartmontools.
   35: .\"! It does not contain info specific to other platforms.]
   36: .\"! .PP
   37: .\" %ENDIF NOT OS ALL
   38: \fB/usr/local/etc/smartd.conf\fP is the configuration file for the \fBsmartd\fP
   39: daemon, which monitors the Self-Monitoring, Analysis and Reporting
   40: Technology (SMART) system built into many ATA-3 and later ATA, IDE and
   41: SCSI-3 hard drives.
   42: 
   43: If the configuration file \fB/usr/local/etc/smartd.conf\fP is present,
   44: \fBsmartd\fP reads it at startup, before \fBfork\fP(2)ing into the
   45: background. If \fBsmartd\fP subsequently receives a \fBHUP\fP signal,
   46: it will then re-read the configuration file.  If \fBsmartd\fP is
   47: running in debug mode, then an \fBINT\fP signal will also make it
   48: re-read the configuration file. This signal can be generated by typing
   49: \fB\<CONTROL-C\>\fP in the terminal window where \fBsmartd\fP is
   50: running.
   51: 
   52: .SH CONFIGURATION FILE /usr/local/etc/smartd.conf
   53: In the absence of a configuration file
   54: \fBsmartd\fP will try to open all available devices.
   55: .\" %IF OS Linux
   56: Ubder linux will try to open the 20 ATA devices
   57: .B /dev/hd[a-t] 
   58: and the 26 SCSI devices
   59: .B /dev/sd[a-z].
   60: .\" %ENDIF OS Linux
   61: .\" %IF OS FreeBSD
   62: Under FreeBSD, 
   63: \fBsmartd\fP
   64: will try to open all existing ATA/SATA devices (using ATA subsystem)
   65: .B /dev/ad[0-9]+
   66: and all existing SCSI/SAS/AHCI devices (using CAM subsystem).
   67: .\" %ENDIF OS FreeBSD
   68: .\" %IF OS NetBSD OpenBSD
   69: Under NetBSD/OpenBSD, 
   70: \fBsmartd\fP
   71: will try to open all existing ATA devices (with entries in /dev)
   72: .B /dev/wd[0-9]+c
   73: and all existing SCSI devices
   74: .B /dev/sd[0-9]+c.
   75: .\" %ENDIF OS NetBSD OpenBSD
   76: .\" %IF OS Solaris
   77: Under Solaris \fBsmartd\fP will try to open all entries \fB"/dev/rdsk/c?t?d?s?"\fP for IDE/ATA and SCSI disk
   78: devices, and entries \fB"/dev/rmt/*"\fP for SCSI tape devices.
   79: .\" %ENDIF OS Solaris
   80: .\" %IF OS Windows
   81: Under Windows \fBsmartd\fP will try to open all entries \fB"/dev/hd[a-j]"\fP ("\\\\.\\PhysicalDrive[0-9]")
   82: for IDE/ATA devices on WinNT4/2000/XP, \fB"/dev/hd[a-d]"\fP
   83: (bitmask from "\\\\.\\SMARTVSD") for IDE/ATA devices on Win95/98/98SE/ME,
   84: and \fB"/dev/scsi[0-9][0-7]"\fP (ASPI adapter 0-9, ID 0-7) for SCSI
   85: devices on all versions of Windows.
   86: .\" %ENDIF OS Windows
   87: .\" %IF OS Darwin
   88: Under Darwin, \fBsmartd\fP will open any ATA block storage device.
   89: .\" %ENDIF OS Darwin
   90: 
   91: This can be annoying if you have an ATA or SCSI device that hangs or
   92: misbehaves when receiving SMART commands.  Even if this causes no
   93: problems, you may be annoyed by the string of error log messages about
   94: block-major devices that can\'t be found, and SCSI devices that can\'t
   95: be opened.
   96: 
   97: One can avoid this problem, and gain more control over the types of
   98: events monitored by
   99: \fBsmartd\fP,
  100: by using the configuration file
  101: .B /usr/local/etc/smartd.conf.
  102: This file contains a list of devices to monitor, with one device per
  103: line.  An example file is included with the
  104: .B smartmontools
  105: distribution. You will find this sample configuration file in
  106: \fB/usr/local/share/doc/smartmontools/\fP. For security, the configuration file
  107: should not be writable by anyone but root. The syntax of the file is as
  108: follows:
  109: .IP \(bu 4
  110: There should be one device listed per line, although you may have
  111: lines that are entirely comments or white space.
  112: .IP \(bu 4
  113: Any text following a hash sign \'#\' and up to the end of the line is
  114: taken to be a comment, and ignored.
  115: .IP \(bu 4
  116: Lines may be continued by using a backslash \'\e\' as the last
  117: non-whitespace or non-comment item on a line.
  118: .IP \(bu 4
  119: Note: a line whose first character is a hash sign \'#\' is treated as
  120: a white-space blank line, \fBnot\fP as a non-existent line, and will
  121: \fBend\fP a continuation line.
  122: .PP 0
  123: .fi
  124: Here is an example configuration file.  It\'s for illustrative purposes
  125: only; please don\'t copy it onto your system without reading to the end
  126: of the
  127: .B DIRECTIVES
  128: Section below!
  129: 
  130: .nf
  131: .B ################################################
  132: .B # This is an example smartd startup config file
  133: .B # /usr/local/etc/smartd.conf for monitoring three
  134: .B # ATA disks, three SCSI disks, six ATA disks
  135: .B # behind two 3ware controllers, three SATA disks
  136: .B # directly connected to the HighPoint Rocket-
  137: .B # RAID controller, two SATA disks connected to
  138: .B # the HighPoint RocketRAID controller via a pmport
  139: .B # device, four SATA disks connected to an Areca
  140: .B # RAID controller, and one SATA disk.
  141: .B #
  142: .nf
  143: .B # First ATA disk on two different interfaces. On
  144: .B # the second disk, start a long self-test every
  145: .B # Sunday between 3 and 4 am.
  146: .B #
  147: .B \ \ /dev/hda -a -m admin@example.com,root@localhost 
  148: .B \ \ /dev/hdc -a -I 194 -I 5 -i 12 -s L/../../7/03
  149: .B #
  150: .nf
  151: .B # SCSI disks.  Send a TEST warning email to admin on
  152: .B # startup.
  153: .B #
  154: .B \ \ /dev/sda
  155: .B \ \ /dev/sdb -m admin@example.com -M test
  156: .B #
  157: .nf
  158: .B # Strange device.  It\'s SCSI. Start a scheduled
  159: .B # long self test between 5 and 6 am Monday/Thursday
  160: .B \ \ /dev/weird -d scsi -s L/../../(1|4)/05
  161: .B #
  162: .nf
  163: .B # An ATA disk may appear as a SCSI device to the
  164: .B # OS. If a SCSI to ATA Translation (SAT) layer
  165: .B # is between the OS and the device then this can be
  166: .B # flagged with the '-d sat' option. This situation
  167: .B # may become common with SATA disks in SAS and FC
  168: .B # environments.
  169: .B \ \ /dev/sda -a -d sat
  170: .B #
  171: .nf
  172: .\" %IF OS Linux
  173: .B # Three disks connected to a MegaRAID controller
  174: .B # Start short self-tests daily between 1-2, 2-3, and
  175: .B # 3-4 am.
  176: .B \ \ /dev/sda -d megaraid,0 -a -s S/../.././01
  177: .B \ \ /dev/sda -d megaraid,1 -a -s S/../.././02
  178: .B \ \ /dev/sda -d megaraid,2 -a -s S/../.././03
  179: .B
  180: .B #
  181: .\" %ENDIF OS Linux
  182: .nf
  183: .B # Four ATA disks on a 3ware 6/7/8000 controller.
  184: .B # Start short self-tests daily between midnight and 1am,
  185: .B # 1-2, 2-3, and 3-4 am.  Starting with the Linux 2.6
  186: .B # kernel series, /dev/sdX is deprecated in favor of
  187: .B # /dev/tweN.  For example replace /dev/sdc by /dev/twe0
  188: .B # and /dev/sdd by /dev/twe1.
  189: .B \ \ /dev/sdc -d 3ware,0 -a -s S/../.././00
  190: .B \ \ /dev/sdc -d 3ware,1 -a -s S/../.././01
  191: .B \ \ /dev/sdd -d 3ware,2 -a -s S/../.././02
  192: .B \ \ /dev/sdd -d 3ware,3 -a -s S/../.././03
  193: .B #
  194: .nf
  195: .B # Two ATA disks on a 3ware 9000 controller.
  196: .B # Start long self-tests Sundays between midnight and
  197: .B # 1am and 2-3 am
  198: .B \ \ /dev/twa0 -d 3ware,0 -a -s L/../../7/00
  199: .B \ \ /dev/twa0 -d 3ware,1 -a -s L/../../7/02
  200: .B #
  201: .nf
  202: .B # Two SATA (not SAS) disks on a 3ware 9750 controller.
  203: .B # Start long self-tests Sundays between midnight and
  204: .B # 1am and 2-3 am
  205: .B \ \ /dev/twl0 -d 3ware,0 -a -s L/../../7/00
  206: .B \ \ /dev/twl0 -d 3ware,1 -a -s L/../../7/02
  207: .B #
  208: .nf
  209: .B # Three SATA disks on a HighPoint RocketRAID controller.
  210: .B # Start short self-tests daily between 1-2, 2-3, and
  211: .B # 3-4 am.
  212: .\" %IF OS Linux
  213: .B # under Linux
  214: .B \ \ /dev/sde -d hpt,1/1 -a -s S/../.././01
  215: .B \ \ /dev/sde -d hpt,1/2 -a -s S/../.././02
  216: .B \ \ /dev/sde -d hpt,1/3 -a -s S/../.././03
  217: .\" %ENDIF OS Linux
  218: .\" %IF OS FreeBSD
  219: .B # under FreeBSD
  220: .B  /dev/hptrr -d hpt,1/1 -a -s S/../.././01
  221: .B  /dev/hptrr -d hpt,1/2 -a -s S/../.././02
  222: .B  /dev/hptrr -d hpt,1/3 -a -s S/../.././03
  223: .\" %ENDIF OS FreeBSD
  224: .B #
  225: .nf
  226: .B # Two SATA disks connected to a HighPoint RocketRAID 
  227: .B # via a pmport device.  Start long self-tests Sundays
  228: .B # between midnight and 1am and 2-3 am.
  229: .\" %IF OS Linux
  230: .B # under Linux
  231: .B \ \ /dev/sde -d hpt,1/4/1 -a -s L/../../7/00
  232: .B \ \ /dev/sde -d hpt,1/4/2 -a -s L/../../7/02
  233: .\" %ENDIF OS Linux
  234: .\" %IF OS FreeBSD
  235: .B # under FreeBSD
  236: .B \ \ /dev/hptrr -d hpt,1/4/1 -a -s L/../../7/00
  237: .B \ \ /dev/hptrr -d hpt,1/4/2 -a -s L/../../7/02
  238: .B #
  239: .\" %ENDIF OS FreeBSD
  240: .nf
  241: .B # Three SATA disks connected to an Areca
  242: .B # RAID controller. Start long self-tests Sundays
  243: .B # between midnight and 3 am.
  244: .\" %IF OS Linux
  245: .B \ \ /dev/sg2 -d areca,1 -a -s L/../../7/00
  246: .B \ \ /dev/sg2 -d areca,2 -a -s L/../../7/01
  247: .B \ \ /dev/sg2 -d areca,3 -a -s L/../../7/02
  248: .\" %ENDIF OS Linux
  249: .\" %IF OS FreeBSD
  250: .B \ \ /dev/arcmsr0 -d areca,1 -a -s L/../../7/00
  251: .B \ \ /dev/arcmsr0 -d areca,2 -a -s L/../../7/01
  252: .B \ \ /dev/arcmsr0 -d areca,3 -a -s L/../../7/02
  253: .\" %ENDIF OS FreeBSD
  254: .B #
  255: .nf
  256: .B # The following line enables monitoring of the 
  257: .B # ATA Error Log and the Self-Test Error Log.  
  258: .B # It also tracks changes in both Prefailure
  259: .B # and Usage Attributes, apart from Attributes
  260: .B # 9, 194, and 231, and shows  continued lines:
  261: .B #
  262: .B \ \ /dev/hdd\ -l\ error\ \e
  263: .B \ \ \ \ \ \ \ \ \ \ \ -l\ selftest\ \e
  264: .B \ \ \ \ \ \ \ \ \ \ \ -t\ \e\ \ \ \ \ \ # Attributes not tracked:
  265: .B \ \ \ \ \ \ \ \ \ \ \ -I\ 194\ \e\ \ # temperature
  266: .B \ \ \ \ \ \ \ \ \ \ \ -I\ 231\ \e\ \ # also temperature
  267: .B \ \ \ \ \ \ \ \ \ \ \ -I 9\ \ \ \ \ \ # power-on hours
  268: .B #
  269: .B ################################################
  270: .fi
  271: 
  272: .PP 
  273: .SH CONFIGURATION FILE DIRECTIVES
  274: .PP
  275: 
  276: If a non-comment entry in the configuration file is the text string
  277: .B DEVICESCAN
  278: in capital letters, then
  279: \fBsmartd\fP
  280: will ignore any remaining lines in the configuration file, and will
  281: scan for devices.
  282: .B DEVICESCAN
  283: may optionally be followed by Directives that will apply to all
  284: devices that are found in the scan.  Please see below for additional
  285: details.
  286: 
  287: .sp 2
  288: The following are the Directives that may appear following the device
  289: name or
  290: .B DEVICESCAN
  291: on any line of the
  292: .B /usr/local/etc/smartd.conf
  293: configuration file. Note that
  294: .B these are NOT command-line options for 
  295: \fBsmartd\fP.
  296: The Directives below may appear in any order, following the device
  297: name. 
  298: 
  299: .B For an ATA device,
  300: if no Directives appear, then the device will be monitored
  301: as if the \'\-a\' Directive (monitor all SMART properties) had been given.
  302: 
  303: .B If a SCSI disk is listed,
  304: it will be monitored at the maximum implemented level: roughly
  305: equivalent to using the \'\-H \-l selftest\' options for an ATA disk.
  306: So with the exception of \'\-d\', \'\-m\', \'\-l selftest\', \'\-s\', and
  307: \'\-M\', the Directives below are ignored for SCSI disks.  For SCSI
  308: disks, the \'\-m\' Directive sends a warning email if the SMART status
  309: indicates a disk failure or problem, if the SCSI inquiry about disk
  310: status fails, or if new errors appear in the self-test log.
  311: 
  312: .B If a 3ware controller is used
  313: then the corresponding SCSI (/dev/sd?) or character device (/dev/twe?,
  314: /dev/twa? or /dev/twl?) must be listed, along with the \'\-d 3ware,N\'
  315: Directive (see below).  The individual ATA disks hosted by the 3ware
  316: controller appear to \fBsmartd\fP as normal ATA devices.  Hence all
  317: the ATA directives can be used for these disks (but see note below).
  318: 
  319: .\" %IF OS Linux FreeBSD
  320: .B If an Areca controller is used
  321: then the corresponding device (SCSI /dev/sg? on Linux or /dev/arcmsr0 on 
  322: FreeBSD) must be listed, along with the \'\-d areca,N\' Directive (see below).
  323: The individual SATA disks hosted by the Areca controller appear to \fBsmartd\fP
  324: as normal ATA devices.  Hence all the ATA directives can be used for
  325: these disks.  Areca firmware version 1.46 or later which supports
  326: smartmontools must be used; Please see the \fBsmartctl\fP(8) man page
  327: for further details.
  328: .\" %ENDIF OS Linux FreeBSD
  329: .TP
  330: .B \-d TYPE
  331: Specifies the type of the device.
  332: The valid arguments to this directive are:
  333: 
  334: .I auto
  335: - attempt to guess the device type from the device name or from
  336: controller type info provided by the operating system or from
  337: a matching USB ID entry in the drive database.
  338: This is the default.
  339: 
  340: .I ata
  341: \- the device type is ATA.  This prevents
  342: \fBsmartd\fP
  343: from issuing SCSI commands to an ATA device.
  344: 
  345: .\" %IF NOT OS Darwin
  346: .I scsi
  347: \- the device type is SCSI.  This prevents
  348: \fBsmartd\fP
  349: from issuing ATA commands to a SCSI device.
  350: 
  351: .I sat
  352: \- the device type is SCSI to ATA Translation (SAT).
  353: This is for ATA disks that have a SCSI to ATA Translation (SAT) Layer
  354: (SATL) between the disk and the operating system.
  355: SAT defines two ATA PASS THROUGH SCSI commands, one 12 bytes long and
  356: the other 16 bytes long.  The default is the 16 byte variant which can be
  357: overridden with either \'\-d sat,12\' or \'\-d sat,16\'.
  358: 
  359: .I usbcypress
  360: \- this device type is for ATA disks that are behind a Cypress USB to PATA
  361: bridge.  This will use the ATACB proprietary scsi pass through command.
  362: The default SCSI operation code is 0x24, but although it can be overridden
  363: with \'\-d usbcypress,0xN\', where N is the scsi operation code,
  364: you're running the risk of damage to the device or filesystems on it.
  365: 
  366: .I usbjmicron
  367: - this device type is for SATA disks that are behind a JMicron USB to
  368: PATA/SATA bridge.  The 48-bit ATA commands (required e.g. for \'\-l xerror\',
  369: see below) do not work with all of these bridges and are therefore disabled by
  370: default.  These commands can be enabled by \'\-d usbjmicron,x\'.
  371: If two disks are connected to a bridge with two ports, an error message is printed
  372: if no PORT is specified.
  373: The port can be specified by \'\-d usbjmicron[,x],PORT\' where PORT is 0
  374: (master) or 1 (slave).  This is not necessary if the device uses a port
  375: multiplier to connect multiple disks to one port.  The disks appear under
  376: separate /dev/ice names then.
  377: CAUTION: Specifying \',x\' for a device which does not support it results
  378: in I/O errors and may disconnect the drive.  The same applies if the specified
  379: PORT does not exist or is not connected to a disk.
  380: 
  381: .I usbsunplus
  382: \- this device type is for SATA disks that are behind a SunplusIT USB to SATA
  383: bridge.
  384: 
  385: .\" %ENDIF NOT OS Darwin
  386: .\" %IF OS Linux
  387: .I marvell
  388: \- [Linux only] interact with SATA disks behind Marvell chip-set
  389: controllers (using the Marvell rather than libata driver).
  390: 
  391: .I megaraid,N
  392: \- [Linux only] the device consists of one or more SCSI/SAS disks connected
  393: to a MegaRAID controller.  The non-negative integer N (in the range of 0 to
  394: 127 inclusive) denotes which disk on the controller is monitored.
  395: This interface will also work for Dell PERC controllers.
  396: In log files and email messages this disk will be identified as
  397: megaraid_disk_XXX with XXX in the range from 000 to 127 inclusive.
  398: Please see the \fBsmartctl\fP(8) man page for further details.
  399: 
  400: .\" %ENDIF OS Linux
  401: .\" %IF OS FreeBSD Linux
  402: .I 3ware,N
  403: \- [FreeBSD and Linux only] the device consists of one or more ATA disks
  404: connected to a 3ware RAID controller.  The non-negative integer N
  405: (in the range from 0 to 127 inclusive) denotes which disk on the controller
  406: is monitored.
  407: In log files and email messages this disk will be identified as 3ware_disk_XXX
  408: with XXX in the range from 000 to 127 inclusive.
  409: 
  410: Note that while you may use \fBany\fP of the 3ware SCSI logical devices /dev/tw*
  411: to address \fBany\fP of the physical disks (3ware ports), error and log
  412: messages will make the most sense if you always list the 3ware SCSI
  413: logical device corresponding to the particular physical disks.
  414: Please see the \fBsmartctl\fP(8) man page for further details.
  415: 
  416: .\" %ENDIF OS FreeBSD Linux
  417: .\" %IF OS Linux FreeBSD
  418: .I areca,N
  419: \- [Linux and FreeBSD only] the device consists of one or more SATA disks connected to an
  420: Areca SATA RAID controller.  The positive integer N (in the range from 1 to
  421: 24 inclusive) denotes which disk on the controller is monitored.
  422: In log files and email messages this disk will be identifed as
  423: areca_disk_XX with XX in the range from 01 to 24 inclusive.
  424: Please see the \fBsmartctl\fP(8) man page for further details.
  425: 
  426: .\" %ENDIF OS Linux FreeBSD
  427: .\" %IF OS FreeBSD Linux
  428: .I cciss,N
  429: \- [FreeBSD and Linux only] the device consists of one or more SCSI/SAS disks
  430: connected to a cciss RAID controller.  The non-negative integer N (in the range
  431: from 0 to 15 inclusive) denotes which disk on the controller is monitored.
  432: In log files and email messages this disk will be identified as cciss_disk_XX
  433: with XX in the range from 00 to 15 inclusive.
  434: Please see the \fBsmartctl\fP(8) man page for further details.
  435: 
  436: .I hpt,L/M/N
  437: \- [FreeBSD and Linux only] the device consists of one or more ATA disks
  438: connected to a HighPoint RocketRAID controller.  The integer L is the
  439: controller id, the integer M is the channel number, and the integer N
  440: is the PMPort number if it is available.  The allowed values of L are
  441: from 1 to 4 inclusive, M are from 1 to 16 inclusive and N from 1 to 4
  442: if PMPort available.  And also these values are limited by the model
  443: of the HighPoint RocketRAID controller.
  444: In log files and email messages this disk will be identified as
  445: hpt_X/X/X and X/X/X is the same as L/M/N, note if no N indicated, N set
  446: to the default value 1.
  447: Please see the \fBsmartctl\fP(8) man page for further details.
  448: 
  449: .\" %ENDIF OS FreeBSD Linux
  450: .I removable
  451: \- the device or its media is removable.  This indicates to
  452: \fBsmartd\fP
  453: that it should continue (instead of exiting, which is the default
  454: behavior) if the device does not appear to be present when
  455: \fBsmartd\fP is started.  This Directive may be used in conjunction
  456: with the other \'\-d\' Directives.
  457: .TP
  458: .B \-n POWERMODE[,N][,q]
  459: [ATA only] This \'nocheck\' Directive is used to prevent a disk from
  460: being spun-up when it is periodically polled by \fBsmartd\fP.
  461: 
  462: ATA disks have five different power states. In order of increasing
  463: power consumption they are: \'OFF\', \'SLEEP\', \'STANDBY\', \'IDLE\',
  464: and \'ACTIVE\'.  Typically in the OFF, SLEEP, and STANDBY modes the
  465: disk\'s platters are not spinning. But usually, in response to SMART
  466: commands issued by \fBsmartd\fP, the disk platters are spun up.  So if
  467: this option is not used, then a disk which is in a low\-power mode may
  468: be spun up and put into a higher\-power mode when it is periodically
  469: polled by \fBsmartd\fP.
  470: 
  471: Note that if the disk is in SLEEP mode when \fBsmartd\fP is started,
  472: then it won't respond to \fBsmartd\fP commands, and so the disk won't
  473: be registered as a device for \fBsmartd\fP to monitor. If a disk is in
  474: any other low\-power mode, then the commands issued by \fBsmartd\fP to
  475: register the disk will probably cause it to spin\-up.
  476: 
  477: The \'\fB\-n\fP\' (nocheck) Directive specifies if \fBsmartd\fP\'s
  478: periodic checks should still be carried out when the device is in a
  479: low\-power mode.  It may be used to prevent a disk from being spun\-up
  480: by periodic \fBsmartd\fP polling.  The allowed values of POWERMODE
  481: are:
  482: 
  483: .I never
  484: \- \fBsmartd\fP will poll (check) the device regardless of its power
  485: mode. This may cause a disk which is spun\-down to be spun\-up when
  486: \fBsmartd\fP checks it.  This is the default behavior if the '\-n'
  487: Directive is not given.
  488: 
  489: .I sleep
  490: \- check the device unless it is in SLEEP mode.
  491: 
  492: .I standby
  493: \- check the device unless it is in SLEEP or STANDBY mode.  In
  494: these modes most disks are not spinning, so if you want to prevent
  495: a laptop disk from spinning up each time that \fBsmartd\fP polls,
  496: this is probably what you want.
  497: 
  498: .I idle
  499: \- check the device unless it is in SLEEP, STANDBY or IDLE mode.
  500: In the IDLE state, most disks are still spinning, so this is probably
  501: not what you want.
  502: 
  503: Maximum number of skipped checks (in a row) can be specified by
  504: appending positive number \',N\' to POWERMODE (like \'\-n standby,15\').
  505: After N checks are skipped in a row, powermode is ignored and the
  506: check is performed anyway.
  507: 
  508: When a periodic test is skipped, \fBsmartd\fP normally writes an
  509: informal log message. The message can be suppressed by appending
  510: the option \',q\' to POWERMODE (like \'\-n standby,q\').
  511: This prevents a laptop disk from spinning up due to this message.
  512: 
  513: Both \',N\' and \',q\' can be specified together.
  514: .TP
  515: .B \-T TYPE
  516: Specifies how tolerant
  517: \fBsmartd\fP
  518: should be of SMART command failures.  The valid arguments to this
  519: Directive are:
  520: 
  521: .I normal
  522: \- do not try to monitor the disk if a mandatory SMART command fails, but
  523: continue if an optional SMART command fails.  This is the default.
  524: 
  525: .I permissive
  526: \- try to monitor the disk even if it appears to lack SMART
  527: capabilities.  This may be required for some old disks (prior to
  528: ATA\-3 revision 4) that implemented SMART before the SMART standards
  529: were incorporated into the ATA/ATAPI Specifications.  This may also be
  530: needed for some Maxtor disks which fail to comply with the ATA
  531: Specifications and don't properly indicate support for error\- or
  532: self\-test logging.
  533: 
  534: [Please see the \fBsmartctl \-T\fP command-line option.]
  535: .TP
  536: .B \-o VALUE
  537: [ATA only] Enables or disables SMART Automatic Offline Testing when
  538: \fBsmartd\fP
  539: starts up and has no further effect.  The valid arguments to this
  540: Directive are \fIon\fP and \fIoff\fP.
  541: 
  542: The delay between tests is vendor-specific, but is typically four
  543: hours.
  544: 
  545: Note that SMART Automatic Offline Testing is \fBnot\fP part of the ATA
  546: Specification.  Please see the
  547: .B smartctl \-o
  548: command-line option documentation for further information about this
  549: feature.
  550: .TP
  551: .B \-S VALUE
  552: Enables or disables Attribute Autosave when \fBsmartd\fP
  553: starts up and has no further effect.  The valid arguments to this
  554: Directive are \fIon\fP and \fIoff\fP.  Also affects SCSI devices.
  555: [Please see the \fBsmartctl \-S\fP command-line option.]
  556: .TP
  557: .B \-H
  558: [ATA only] Check the SMART health status of the disk.  If any Prefailure
  559: Attributes are less than or equal to their threshold values, then disk
  560: failure is predicted in less than 24 hours, and a message at loglevel
  561: .B \'LOG_CRIT\'
  562: will be logged to syslog.  [Please see the
  563: .B smartctl \-H
  564: command-line option.]
  565: .TP
  566: .B \-l TYPE
  567: Reports increases in the number of errors in one of three SMART logs.  The
  568: valid arguments to this Directive are:
  569: 
  570: .I error
  571: \- [ATA only] report if the number of ATA errors reported in the Summary SMART
  572: error log has increased since the last check.
  573: 
  574: .I xerror
  575: \- [ATA only] report if the number of ATA errors reported in the Extended
  576: Comprehensive SMART error log has increased since the last check.
  577: 
  578: If both \'\-l error\' and \'\-l xerror\' are specified, smartd checks
  579: the maximum of both values.
  580: 
  581: [Please see the \fBsmartctl \-l xerror\fP command-line option.]
  582: 
  583: .I selftest
  584: \- report if the number of failed tests reported in the SMART
  585: Self-Test Log has increased since the last check, or if the timestamp
  586: associated with the most recent failed test has increased.  Note that
  587: such errors will \fBonly\fP be logged if you run self-tests on the
  588: disk (and it fails a test!).  Self-Tests can be run automatically by
  589: \fBsmartd\fP: please see the \fB\'\-s\'\fP Directive below.
  590: Self-Tests can also be run manually by using the \fB\'\-t\ short\'\fP
  591: and \fB\'\-t\ long\'\fP options of \fBsmartctl\fP and the results of
  592: the testing can be observed using the \fBsmartctl \'\-l\ selftest\'\fP
  593: command-line option.
  594: [Please see the \fBsmartctl \-l\fP and \fB\-t\fP command-line
  595: options.]
  596: 
  597: [ATA only] Failed self-tests outdated by a newer successful extended
  598: self\-test are ignored.  The warning email counter is reset if the
  599: number of failed self tests dropped to 0.  This typically happens when
  600: an extended self\-test is run after all bad sectors have been reallocated.
  601: 
  602: .I offlinests
  603: \- [ATA only] report if the Offline Data Collection status has changed
  604: since the last check.  The report will be logged as LOG_CRIT if the new
  605: status indicates an error.  With some drives the status often changes,
  606: therefore \'\-l offlinests\' is not enabled by '\-a\' Directive.
  607: 
  608: .I selfteststs
  609: \- [ATA only] report if the Self-Test execution status has changed
  610: since the last check.  The report will be logged as LOG_CRIT if the new
  611: status indicates an error.
  612: 
  613: .I scterc,READTIME,WRITETIME
  614: \- [ATA only] [NEW EXPERIMENTAL SMARTD FEATURE] sets the SCT Error
  615: Recovery Control settings to the specified values (deciseconds)
  616: when \fBsmartd\fP starts up and has no further effect.
  617: Values of 0 disable the feature, other values less than 65 are probably
  618: not supported.  For RAID configurations, this is typically set to
  619: 70,70 deciseconds.
  620: [Please see the \fBsmartctl \-l scterc\fP command-line option.]
  621: 
  622: .TP
  623: .B \-s REGEXP
  624: Run Self-Tests or Offline Immediate Tests, at scheduled times.  A
  625: Self- or Offline Immediate Test will be run at the end of periodic
  626: device polling, if all 12 characters of the string \fBT/MM/DD/d/HH\fP
  627: match the extended regular expression \fBREGEXP\fP. Here:
  628: .RS 7
  629: .IP \fBT\fP 4
  630: is the type of the test.  The values that \fBsmartd\fP will try to
  631: match (in turn) are: \'L\' for a \fBL\fPong Self-Test, \'S\' for a
  632: \fBS\fPhort Self-Test, \'C\' for a \fBC\fPonveyance Self-Test (ATA
  633: only), and \'O\' for an \fBO\fPffline Immediate Test (ATA only).  As
  634: soon as a match is found, the test will be started and no additional
  635: matches will be sought for that device and that polling cycle.
  636: 
  637: To run scheduled Selective Self-Tests, use \'n\' for \fBn\fPext span,
  638: \'r\' to \fBr\fPedo last span, or \'c\' to \fBc\fPontinue with next span
  639: or redo last span based on status of last test.
  640: The LBA range is based on the first span from the last test.
  641: See the \fBsmartctl \-t select,[next|redo|cont]\fP options for
  642: further info.
  643: 
  644: [NEW EXPERIMENTAL SMARTD FEATURE] Some disks (e.g. WD) do not preserve
  645: the selective self test log accross power cycles.  If state persistence
  646: (\'\-s\' option) is enabled, the last test span is preserved by smartd
  647: and used if (and only if) the selective self test log is empty.
  648: 
  649: .IP \fBMM\fP 4
  650: is the month of the year, expressed with two decimal digits.  The
  651: range is from 01 (January) to 12 (December) inclusive.  Do \fBnot\fP
  652: use a single decimal digit or the match will always fail!
  653: .IP \fBDD\fP 4
  654: is the day of the month, expressed with two decimal digits. The
  655: range is from 01 to 31 inclusive.  Do \fBnot\fP
  656: use a single decimal digit or the match will always fail!
  657: .IP \fBd\fP 4
  658: is the day of the week, expressed with one decimal digit.  The
  659: range is from 1 (Monday) to 7 (Sunday) inclusive.
  660: .IP \fBHH\fP 4
  661: is the hour of the day, written with two decimal digits, and given in
  662: hours after midnight.  The range is 00 (midnight to just before 1am)
  663: to 23 (11pm to just before midnight) inclusive.  Do \fBnot\fP use a
  664: single decimal digit or the match will always fail!
  665: .RE
  666: .\"  The following two lines are a workaround for a man2html bug.  Please leave them.
  667: .\" They define a non-existent option; useful because man2html can't correctly reset the margins.
  668: .TP
  669: .B \&
  670: Some examples follow.  In reading these, keep in mind that in extended
  671: regular expressions a dot \fB\'.\'\fP matches any single character, and
  672: a parenthetical expression such as \fB\'(A|B|C)\'\fP denotes any one of the three possibilities \fBA\fP,
  673: \fBB\fP, or \fBC\fP.
  674: 
  675: To schedule a short Self-Test between 2-3am every morning, use:
  676: .nf
  677: \fB \-s S/../.././02\fP
  678: .fi
  679: To schedule a long Self-Test between 4-5am every Sunday morning, use:
  680: .nf
  681: \fB \-s L/../../7/04\fP
  682: .fi
  683: To schedule a long Self-Test between 10-11pm on the first and
  684: fifteenth day of each month, use:
  685: .nf
  686: \fB \-s L/../(01|15)/./22\fP
  687: .fi
  688: To schedule an Offline Immediate test after every midnight, 6am,
  689: noon,and 6pm, plus a Short Self-Test daily at 1-2am and a Long
  690: Self-Test every Saturday at 3-4am, use:
  691: .nf
  692: \fB \-s (O/../.././(00|06|12|18)|S/../.././01|L/../../6/03)\fP
  693: .fi
  694: If Long Self-Tests of a large disks take longer than the system uptime,
  695: a full disk test can be performed by several Selective Self-Tests.
  696: To setup a full test of a 1TB disk within 20 days (one 50GB span
  697: each day), run this command once:
  698: .nf
  699:   smartctl -t select,0-99999999 /dev/sda
  700: .fi
  701: To run the next test spans on Monday-Friday between 12-13am, run smartd
  702: with this directive:
  703: .nf
  704: \fB \-s n/../../[1-5]/12\fP
  705: .fi
  706: 
  707: 
  708: Scheduled tests are run immediately following the regularly-scheduled
  709: device polling, if the current local date, time, and test type, match
  710: \fBREGEXP\fP.  By default the regularly-scheduled device polling
  711: occurs every thirty minutes after starting \fBsmartd\fP.  Take caution
  712: if you use the \'\-i\' option to make this polling interval more than
  713: sixty minutes: the poll times may fail to coincide with any of the
  714: testing times that you have specified with \fBREGEXP\fP.  In this case
  715: the test will be run following the next device polling.
  716: 
  717: Before running an offline or self-test, \fBsmartd\fP checks to be sure
  718: that a self-test is not already running.  If a self-test \fBis\fP
  719: already running, then this running self test will \fBnot\fP be
  720: interrupted to begin another test.
  721: 
  722: \fBsmartd\fP will not attempt to run \fBany\fP type of test if another
  723: test was already started or run in the same hour.
  724: 
  725: To avoid performance problems during system boot, \fBsmartd\fP will
  726: not attempt to run any scheduled tests following the very first
  727: device polling (unless \'\-q onecheck\' is specified).
  728: 
  729: Each time a test is run, \fBsmartd\fP will log an entry to SYSLOG.
  730: You can use these or the '-q showtests' command-line option to verify
  731: that you constructed \fBREGEXP\fP correctly.  The matching order
  732: (\fBL\fP before \fBS\fP before \fBC\fP before \fBO\fP) ensures that
  733: if multiple test types are all scheduled for the same hour, the
  734: longer test type has precedence.  This is usually the desired behavior.
  735: 
  736: If the scheduled tests are used in conjunction with state persistence
  737: (\'\-s\' option), smartd will also try to match the hours since last
  738: shutdown (or 90 days at most). If any test would have been started
  739: during downtime, the longest (see above) of these tests is run after
  740: second device polling.
  741: 
  742: If the \'\-n\' directive is used and any test would have been started
  743: during disk standby time, the longest of these tests is run when the
  744: disk is active again.
  745: 
  746: Unix users: please beware that the rules for extended regular
  747: expressions [regex(7)] are \fBnot\fP the same as the rules for
  748: file\-name pattern matching by the shell [glob(7)].  \fBsmartd\fP will
  749: issue harmless informational warning messages if it detects characters
  750: in \fBREGEXP\fP that appear to indicate that you have made this
  751: mistake.
  752: .TP
  753: .B \-m ADD
  754: Send a warning email to the email address \fBADD\fP if the \'\-H\',
  755: \'\-l\', \'\-f\', \'\-C\', or \'\-O\' Directives detect a failure or a
  756: new error, or if a SMART command to the disk fails. This Directive
  757: only works in conjunction with these other Directives (or with the
  758: equivalent default \'\-a\' Directive).
  759: 
  760: To prevent your email in-box from getting filled up with warning
  761: messages, by default only a single warning will be sent for each of
  762: the enabled alert types, \'\-H\', \'\-l\', \'\-f\', \'\-C\', or
  763: \'\-O\' even if more than one failure or error is detected or if the
  764: failure or error persists.  [This behavior can be modified; see the
  765: \'\-M\' Directive below.]
  766: 
  767: To send email to more than one user, please use the following "comma
  768: separated" form for the address: \fBuser1@add1,user2@add2,...,userN@addN\fP
  769: (with no spaces).
  770: 
  771: To test that email is being sent correctly, use the \'\-M test\'
  772: Directive described below to send one test email message on
  773: \fBsmartd\fP
  774: startup.
  775: 
  776: By default, email is sent using the system 
  777: .B mail
  778: command.  In order that
  779: \fBsmartd\fP
  780: find the mail command (normally /bin/mail) an executable named
  781: .B \'mail\'
  782: must be in the path of the shell or environment from which
  783: \fBsmartd\fP
  784: was started.  If you wish to specify an explicit path to the mail
  785: executable (for example /usr/local/bin/mail) or a custom script to
  786: run, please use the \'\-M exec\' Directive below.
  787: 
  788: .\" %IF OS Solaris
  789: Note that by default under Solaris, in the previous paragraph,
  790: \'\fBmailx\fP\' and \'\fB/bin/mailx\fP\' are used, since Solaris
  791: \'/bin/mail\' does not accept a \'\-s\' (Subject) command-line
  792: argument.
  793: 
  794: .\" %ENDIF OS Solaris
  795: .\" %IF OS Windows
  796: On Windows, the \'\fBBlat\fP\' mailer
  797: (\fBhttp://blat.sourceforge.net/\fP) is used by default.
  798: This mailer uses a different command line syntax, see
  799: \'\-M exec\' below.
  800: 
  801: .\" %ENDIF OS Windows
  802: Note also that there is a special argument
  803: .B <nomailer>
  804: which can be given to the \'\-m\' Directive in conjunction with the \'\-M
  805: exec\' Directive. Please see below for an explanation of its effect.
  806: 
  807: If the mailer or the shell running it produces any STDERR/STDOUT
  808: output, then a snippet of that output will be copied to SYSLOG.  The
  809: remainder of the output is discarded. If problems are encountered in
  810: sending mail, this should help you to understand and fix them.  If
  811: you have mail problems, we recommend running \fBsmartd\fP in debug
  812: mode with the \'-d\' flag, using the \'-M test\' Directive described
  813: below.
  814: .\" %IF OS Windows
  815: 
  816: The following extension is available on Windows:
  817: By specifying \'\fBmsgbox\fP\' as a mail address, a warning
  818: "email" is displayed as a message box on the screen.
  819: Using both \'\fBmsgbox\fP\' and regular mail addresses is possible,
  820: if \'\fBmsgbox\fP\' is the first word in the comma separated list.
  821: With \'\fBsysmsgbox\fP\', a system modal (always on top) message box
  822: is used.
  823: 
  824: If running as a service, a service notification message box
  825: (always shown on current visible desktop) is used.  Please note that
  826: service notification message boxes are no longer supported on Windows
  827: Vista/2008 or later.
  828: .\" %ENDIF OS Windows
  829: .TP
  830: .B \-M TYPE
  831: These Directives modify the behavior of the
  832: \fBsmartd\fP
  833: email warnings enabled with the \'\-m\' email Directive described above.
  834: These \'\-M\' Directives only work in conjunction with the \'\-m\'
  835: Directive and can not be used without it.
  836: 
  837: Multiple \-M Directives may be given.  If more than one of the
  838: following three \-M Directives are given (example: \-M once \-M daily)
  839: then the final one (in the example, \-M daily) is used.
  840: 
  841: The valid arguments to the \-M Directive are (one of the following
  842: three):
  843: 
  844: .I once
  845: \- send only one warning email for each type of disk problem detected.  This
  846: is the default unless state persistence (\'\-s\' option) is enabled.
  847: 
  848: .I daily
  849: \- send additional warning reminder emails, once per day, for each type
  850: of disk problem detected.  This is the default if state persistence
  851: (\'\-s\' option) is enabled.
  852: 
  853: .I diminishing
  854: \- send additional warning reminder emails, after a one-day interval,
  855: then a two-day interval, then a four-day interval, and so on for each
  856: type of disk problem detected. Each interval is twice as long as the
  857: previous interval.
  858: 
  859: If a disk problem is no longer detected, the internal email counter is
  860: reset.  If the problem reappears a new warning email is sent immediately.
  861: 
  862: In addition, one may add zero or more of the following Directives:
  863: 
  864: .I test
  865: \- send a single test email
  866: immediately upon
  867: \fBsmartd\fP
  868: startup.  This allows one to verify that email is delivered correctly.
  869: Note that if this Directive is used,
  870: \fBsmartd\fP
  871: will also send the normal email warnings that were enabled with the \'\-m\' Directive,
  872: in addition to the single test email!
  873: 
  874: .I exec PATH
  875: \- run the executable PATH instead of the default mail command, when
  876: \fBsmartd\fP
  877: needs to send email.  PATH must point to an executable binary file or
  878: script.
  879: 
  880: By setting PATH to point to a customized script, you can make
  881: \fBsmartd\fP perform useful tricks when a disk problem is detected
  882: (beeping the console, shutting down the machine, broadcasting warnings
  883: to all logged-in users, etc.)  But please be careful. \fBsmartd\fP
  884: will \fBblock\fP until the executable PATH returns, so if your
  885: executable hangs, then \fBsmartd\fP will also hang. Some sample
  886: scripts are included in
  887: /usr/local/share/doc/smartmontools/examplescripts/.
  888: 
  889: The return status of the executable is recorded by \fBsmartd\fP in
  890: SYSLOG. The executable is not expected to write to STDOUT or
  891: STDERR.  If it does, then this is interpreted as indicating that
  892: something is going wrong with your executable, and a fragment of this
  893: output is logged to SYSLOG to help you to understand the problem.
  894: Normally, if you wish to leave some record behind, the executable
  895: should send mail or write to a file or device.
  896: 
  897: Before running the executable, \fBsmartd\fP sets a number of
  898: environment variables.  These environment variables may be used to
  899: control the executable\'s behavior.  The environment variables
  900: exported by \fBsmartd\fP are:
  901: .RS 7
  902: .IP \fBSMARTD_MAILER\fP 4
  903: is set to the argument of \-M exec, if present or else to \'mail\'
  904: (examples: /bin/mail, mail).
  905: .IP \fBSMARTD_DEVICE\fP 4
  906: is set to the device path (examples: /dev/hda, /dev/sdb).
  907: .IP \fBSMARTD_DEVICETYPE\fP 4
  908: is set to the device type specified by \'-d\' directive or
  909: \'auto\' if none.
  910: .IP \fBSMARTD_DEVICESTRING\fP 4
  911: is set to the device description.  For SMARTD_DEVICETYPE of ata or
  912: scsi, this is the same as SMARTD_DEVICE.  For 3ware RAID controllers,
  913: the form used is \'/dev/sdc [3ware_disk_01]\'.  For HighPoint
  914: RocketRAID controller, the form is \'/dev/sdd [hpt_1/1/1]\' under Linux
  915: or \'/dev/hptrr [hpt_1/1/1]\' under FreeBSD.  For Areca controllers, the
  916: form is \'/dev/sg2 [areca_disk_09]\' on Linux or  \'/dev/arcmsr0 [areca_disk_09]\' on FreeBSD.  In these cases the device string
  917: contains a space and is NOT quoted.  So to use $SMARTD_DEVICESTRING in a
  918: bash script you should probably enclose it in double quotes.
  919: .IP \fBSMARTD_FAILTYPE\fP 4
  920: gives the reason for the warning or message email.  The possible values that
  921: it takes and their meanings are:
  922: .nf
  923: .fi
  924: \fIEmailTest\fP: this is an email test message.
  925: .nf
  926: .fi
  927: \fIHealth\fP: the SMART health status indicates imminent failure.
  928: .nf
  929: .fi
  930: \fIUsage\fP: a usage Attribute has failed.
  931: .nf
  932: .fi
  933: \fISelfTest\fP: the number of self-test failures has increased.
  934: .nf
  935: .fi
  936: \fIErrorCount\fP: the number of errors in the ATA error log has increased.
  937: .nf
  938: .fi
  939: \fICurrentPendingSector\fP: one of more disk sectors could not be
  940: read and are marked to be reallocated (replaced with spare sectors).
  941: .nf
  942: .fi
  943: \fIOfflineUncorrectableSector\fP: during off\-line testing, or self\-testing,
  944: one or more disk sectors could not be read.
  945: .nf
  946: .fi
  947: \fITemperature\fP: Temperature reached critical limit (see \-W directive).
  948: .nf
  949: .fi
  950: \fIFailedHealthCheck\fP: the SMART health status command failed.
  951: .nf
  952: .fi
  953: \fIFailedReadSmartData\fP: the command to read SMART Attribute data failed.
  954: .nf
  955: .fi
  956: \fIFailedReadSmartErrorLog\fP: the command to read the SMART error log failed.
  957: .nf
  958: .fi
  959: \fIFailedReadSmartSelfTestLog\fP: the command to read the SMART self-test log failed.
  960: .nf
  961: .fi
  962: \fIFailedOpenDevice\fP: the open() command to the device failed.
  963: .IP \fBSMARTD_ADDRESS\fP 4
  964: is determined by the address argument ADD of the \'\-m\' Directive.
  965: If ADD is \fB<nomailer>\fP, then \fBSMARTD_ADDRESS\fP is not set.
  966: Otherwise, it is set to the comma-separated-list of email addresses
  967: given by the argument ADD, with the commas replaced by spaces
  968: (example:admin@example.com root).  If more than one email address is
  969: given, then this string will contain space characters and is NOT
  970: quoted, so to use it in a bash script you may want to enclose it in
  971: double quotes.
  972: .IP \fBSMARTD_MESSAGE\fP 4
  973: is set to the one sentence summary warning email message string from
  974: \fBsmartd\fP. 
  975: This message string contains space characters and is NOT quoted. So to
  976: use $SMARTD_MESSAGE in a bash script you should probably enclose it in
  977: double quotes.
  978: .IP \fBSMARTD_FULLMESSAGE\fP 4
  979: is set to the contents of the entire email warning message string from
  980: \fBsmartd\fP. 
  981: This message string contains space and return characters and is NOT quoted. So to
  982: use $SMARTD_FULLMESSAGE in a bash script you should probably enclose it in
  983: double quotes.
  984: .IP \fBSMARTD_TFIRST\fP 4
  985: is a text string giving the time and date at which the first problem
  986: of this type was reported. This text string contains space characters
  987: and no newlines, and is NOT quoted. For example:
  988: .nf
  989: .fi
  990: Sun Feb  9 14:58:19 2003 CST
  991: .IP \fBSMARTD_TFIRSTEPOCH\fP 4
  992: is an integer, which is the unix epoch (number of seconds since Jan 1,
  993: 1970) for \fBSMARTD_TFIRST\fP.
  994: .RE
  995: .\"  The following two lines are a workaround for a man2html bug.  Please leave them.
  996: .\" They define a non-existent option; useful because man2html can't correctly reset the margins.
  997: .TP
  998: .B \&
  999: The shell which is used to run PATH is system-dependent. For vanilla
 1000: Linux/glibc it\'s bash. For other systems, the man page for
 1001: \fBpopen\fP(3) should say what shell is used.
 1002: 
 1003: If the \'\-m ADD\' Directive is given with a normal address argument,
 1004: then the executable pointed to by PATH will be run in a shell with
 1005: STDIN receiving the body of the email message, and with the same
 1006: command-line arguments:
 1007: .nf
 1008: -s "$SMARTD_SUBJECT" $SMARTD_ADDRESS
 1009: .fi
 1010: that would normally be provided to \'mail\'.  Examples include:
 1011: .nf
 1012: .B -m user@home -M exec /bin/mail
 1013: .B -m admin@work -M exec /usr/local/bin/mailto
 1014: .B -m root -M exec /Example_1/bash/script/below
 1015: .fi
 1016: 
 1017: .\" %IF OS Windows
 1018: Note that on Windows, the syntax of the \'\fBBlat\fP\' mailer is
 1019: used:
 1020: .nf
 1021: - -q -subject "$SMARTD_SUBJECT" -to "$SMARTD_ADDRESS"
 1022: .fi
 1023: 
 1024: .\" %ENDIF OS Windows
 1025: If the \'\-m ADD\' Directive is given with the special address argument
 1026: .B <nomailer>
 1027: then the executable pointed to by PATH is run in a shell with
 1028: .B no
 1029: STDIN and
 1030: .B no
 1031: command-line arguments, for example:
 1032: .nf
 1033: .B -m <nomailer> -M exec /Example_2/bash/script/below
 1034: .fi
 1035: If the executable produces any STDERR/STDOUT output, then \fBsmartd\fP
 1036: assumes that something is going wrong, and a snippet of that output
 1037: will be copied to SYSLOG.  The remainder of the output is then
 1038: discarded.
 1039: 
 1040: Some EXAMPLES of scripts that can be used with the \'\-M exec\'
 1041: Directive are given below. Some sample scripts are also included in
 1042: /usr/local/share/doc/smartmontools/examplescripts/.
 1043: .TP
 1044: .B \-f
 1045: [ATA only] Check for \'failure\' of any Usage Attributes.  If these
 1046: Attributes are less than or equal to the threshold, it does NOT indicate
 1047: imminent disk failure.  It "indicates an advisory condition where the usage
 1048: or age of the device has exceeded its intended design life period."
 1049: [Please see the \fBsmartctl \-A\fP command-line option.]
 1050: .TP
 1051: .B \-p
 1052: [ATA only] Report anytime that a Prefail Attribute has changed
 1053: its value since the last check, 30 minutes ago. [Please see the
 1054: .B smartctl \-A
 1055: command-line option.]
 1056: .TP
 1057: .B \-u
 1058: [ATA only] Report anytime that a Usage Attribute has changed its value
 1059: since the last check, 30 minutes ago. [Please see the
 1060: .B smartctl \-A
 1061: command-line option.]
 1062: .TP
 1063: .B \-t
 1064: [ATA only] Equivalent to turning on the two previous flags \'\-p\' and \'\-u\'.
 1065: Tracks changes in \fIall\fP device Attributes (both Prefailure and
 1066: Usage). [Please see the \fBsmartctl\fP \-A command-line option.]
 1067: .TP
 1068: .B \-i ID
 1069: [ATA only] Ignore device Attribute number \fBID\fP when checking for failure
 1070: of Usage Attributes.  \fBID\fP must be a decimal integer in the range
 1071: from 1 to 255.  This Directive modifies the behavior of the \'\-f\'
 1072: Directive and has no effect without it.
 1073: 
 1074: This is useful, for example, if you have a very old disk and don\'t
 1075: want to keep getting messages about the hours-on-lifetime Attribute
 1076: (usually Attribute 9) failing.  This Directive may appear multiple
 1077: times for a single device, if you want to ignore multiple Attributes.
 1078: .TP
 1079: .B \-I ID
 1080: [ATA only] Ignore device Attribute \fBID\fP when tracking changes in the
 1081: Attribute values.  \fBID\fP must be a decimal integer in the range
 1082: from 1 to 255.  This Directive modifies the behavior of the \'\-p\',
 1083: \'\-u\', and \'\-t\' tracking Directives and has no effect without one
 1084: of them.
 1085: 
 1086: This is useful, for example, if one of the device Attributes is the disk
 1087: temperature (usually Attribute 194 or 231). It\'s annoying to get reports
 1088: each time the temperature changes.  This Directive may appear multiple
 1089: times for a single device, if you want to ignore multiple Attributes.
 1090: .TP
 1091: .B \-r ID[!]
 1092: [ATA only] When tracking, report the \fIRaw\fP value of Attribute \fBID\fP
 1093: along with its (normally reported) \fINormalized\fP value.  \fBID\fP must
 1094: be a decimal integer in the range from 1 to 255.  This Directive modifies
 1095: the behavior of the \'\-p\', \'\-u\', and \'\-t\' tracking Directives
 1096: and has no effect without one of them.  This Directive may be given
 1097: multiple times.
 1098: 
 1099: A common use of this Directive is to track the device Temperature
 1100: (often ID=194 or 231).
 1101: 
 1102: If the optional flag \'!\' is appended, a change of the Normalized
 1103: value is considered critical.  The report will be logged as LOG_CRIT
 1104: and a warning email will be sent if \'-m\' is specified.
 1105: .TP
 1106: .B \-R ID[!]
 1107: [ATA only] When tracking, report whenever the \fIRaw\fP value of Attribute
 1108: \fBID\fP changes.  (Normally \fBsmartd\fP only tracks/reports changes
 1109: of the \fINormalized\fP Attribute values.)  \fBID\fP must be a decimal
 1110: integer in the range from 1 to 255.  This Directive modifies the
 1111: behavior of the \'\-p\', \'\-u\', and \'\-t\' tracking Directives and
 1112: has no effect without one of them.  This Directive may be given
 1113: multiple times.
 1114: 
 1115: If this Directive is given, it automatically implies the \'\-r\'
 1116: Directive for the same Attribute, so that the Raw value of the
 1117: Attribute is reported.
 1118: 
 1119: A common use of this Directive is to track the device Temperature
 1120: (often ID=194 or 231).  It is also useful for understanding how
 1121: different types of system behavior affects the values of certain
 1122: Attributes.
 1123: 
 1124: If the optional flag \'!\' is appended, a change of the Raw
 1125: value is considered critical.  The report will be logged as
 1126: LOG_CRIT and a warning email will be sent if \'-m\' is specified.
 1127: An example is \'-R 5!\' to warn when new sectors are reallocated.
 1128: .TP
 1129: .B \-C ID[+]
 1130: [ATA only] Report if the current number of pending sectors is
 1131: non-zero.  Here \fBID\fP is the id number of the Attribute whose raw
 1132: value is the Current Pending Sector count.  The allowed range of
 1133: \fBID\fP is 0 to 255 inclusive.  To turn off this reporting, use
 1134: ID\ =\ 0.  If the \fB\-C ID\fP option is not given, then it defaults to
 1135: \fB\-C 197\fP (since Attribute 197 is generally used to monitor
 1136: pending sectors).  If the name of this Attribute is changed by a
 1137: \'\-v 197,FORMAT,NAME\' directive, the default is changed to
 1138: \fB\-C 0\fP.
 1139: 
 1140: If \'+\' is specified, a report is only printed if the number of sectors
 1141: has increased between two check cycles. Some disks do not reset this
 1142: attribute when a bad sector is reallocated.
 1143: See also \'\-v 197,increasing\' below.
 1144: 
 1145: The warning email counter is reset if the number of pending sectors
 1146: dropped to 0.  This typically happens when all pending sectors have
 1147: been reallocated or could be read again.
 1148: 
 1149: A pending sector is a disk sector (containing 512 bytes of your data)
 1150: which the device would like to mark as ``bad" and reallocate.
 1151: Typically this is because your computer tried to read that sector, and
 1152: the read failed because the data on it has been corrupted and has
 1153: inconsistent Error Checking and Correction (ECC) codes.  This is
 1154: important to know, because it means that there is some unreadable data
 1155: on the disk.  The problem of figuring out what file this data belongs
 1156: to is operating system and file system specific.  You can typically
 1157: force the sector to reallocate by writing to it (translation: make the
 1158: device substitute a spare good sector for the bad one) but at the
 1159: price of losing the 512 bytes of data stored there.
 1160: .TP
 1161: .B \-U ID[+]
 1162: [ATA only] Report if the number of offline uncorrectable sectors is
 1163: non-zero.  Here \fBID\fP is the id number of the Attribute whose raw
 1164: value is the Offline Uncorrectable Sector count.  The allowed range of
 1165: \fBID\fP is 0 to 255 inclusive.  To turn off this reporting, use
 1166: ID\ =\ 0.  If the \fB\-U ID\fP option is not given, then it defaults to
 1167: \fB\-U 198\fP (since Attribute 198 is generally used to monitor
 1168: offline uncorrectable sectors).  If the name of this Attribute is changed
 1169: by a \'\-v 198,FORMAT,NAME\' (except \'\-v 198,FORMAT,Offline_Scan_UNC_SectCt\'),
 1170: directive, the default is changed to \fB\-U 0\fP.
 1171: 
 1172: If \'+\' is specified, a report is only printed if the number of sectors
 1173: has increased since the last check cycle. Some disks do not reset this
 1174: attribute when a bad sector is reallocated.
 1175: See also \'\-v 198,increasing\' below.
 1176: 
 1177: The warning email counter is reset if the number of offline uncorrectable
 1178: sectors dropped to 0.  This typically happens when all offline uncorrectable
 1179: sectors have been reallocated or could be read again.
 1180: 
 1181: An offline uncorrectable sector is a disk sector which was not
 1182: readable during an off\-line scan or a self\-test.  This is important
 1183: to know, because if you have data stored in this disk sector, and you
 1184: need to read it, the read will fail.  Please see the previous \'\-C\'
 1185: option for more details.
 1186: .TP
 1187: .B \-W DIFF[,INFO[,CRIT]]
 1188: Report if the current temperature had changed by at least \fBDIFF\fP
 1189: degrees since last report, or if new min or max temperature is detected.
 1190: Report or Warn if the temperature is greater or equal than one of
 1191: \fBINFO\fP or \fBCRIT\fP degrees Celsius.
 1192: If the limit \fBCRIT\fP is reached, a message with loglevel
 1193: \fB\'LOG_CRIT\'\fP will be logged to syslog and a warning email
 1194: will be send if '-m' is specified. If only the limit \fBINFO\fP is
 1195: reached, a message with loglevel \fB\'LOG_INFO\'\fP will be logged.
 1196: 
 1197: The warning email counter is reset if the temperature dropped below
 1198: \fBINFO\fP or \fBCRIT\fP-5 if \fBINFO\fP is not specified.
 1199: 
 1200: If this directive is used in conjunction with state persistence
 1201: (\'\-s\' option), the min and max temperature values are preserved
 1202: across boot cycles. The minimum temperature value is not updated
 1203: during the first 30 minutes after startup.
 1204: 
 1205: To disable any of the 3 reports, set the corresponding limit to 0.
 1206: Trailing zero arguments may be omitted. By default, all temperature
 1207: reports are disabled (\'-W 0\').
 1208: 
 1209: To track temperature changes of at least 2 degrees, use:
 1210: .nf
 1211: \fB \-W 2
 1212: .fi
 1213: To log informal messages on temperatures of at least 40 degrees, use:
 1214: .nf
 1215: \fB \-W 0,40
 1216: .fi
 1217: For warning messages/mails on temperatures of at least 45 degrees, use:
 1218: .nf
 1219: \fB \-W 0,0,45
 1220: .fi
 1221: To combine all of the above reports, use:
 1222: .nf
 1223: \fB \-W 2,40,45
 1224: .fi
 1225: 
 1226: For ATA devices, smartd interprets Attribute 194 as Temperature Celsius
 1227: by default. This can be changed to Attribute 9 or 220 by the drive
 1228: database or by the \'-v\' directive, see below.
 1229: .TP
 1230: .B \-F TYPE
 1231: [ATA only] Modifies the behavior of \fBsmartd\fP to compensate for
 1232: some known and understood device firmware bug.  The arguments to this
 1233: Directive are exclusive, so that only the final Directive given is
 1234: used.  The valid values are:
 1235: 
 1236: .I none
 1237: \- Assume that the device firmware obeys the ATA specifications.  This
 1238: is the default, unless the device has presets for \'\-F\' in the
 1239: device database.
 1240: 
 1241: .I samsung
 1242: \- In some Samsung disks (example: model SV4012H Firmware Version:
 1243: RM100\-08) some of the two\- and four\-byte quantities in the SMART data
 1244: structures are byte\-swapped (relative to the ATA specification).
 1245: Enabling this option tells \fBsmartd\fP to evaluate these quantities
 1246: in byte\-reversed order.  Some signs that your disk needs this option
 1247: are (1) no self\-test log printed, even though you have run self\-tests;
 1248: (2) very large numbers of ATA errors reported in the ATA error log;
 1249: (3) strange and impossible values for the ATA error log timestamps.
 1250: 
 1251: .I samsung2
 1252: \- In some Samsung disks the number of ATA errors reported is byte swapped.
 1253: Enabling this option tells \fBsmartd\fP to evaluate this quantity in
 1254: byte\-reversed order.
 1255: 
 1256: .I samsung3
 1257: \- Some Samsung disks (at least SP2514N with Firmware VF100\-37) report
 1258: a self\-test still in progress with 0% remaining when the test was already
 1259: completed. If this directive is specified, \fBsmartd\fP will not skip the
 1260: next scheduled self\-test (see Directive \'\-s\' above) in this case.
 1261: 
 1262: Note that an explicit \'\-F\' Directive will over\-ride any preset
 1263: values for \'\-F\' (see the \'\-P\' option below).
 1264: 
 1265: 
 1266: [Please see the \fBsmartctl \-F\fP command-line option.]
 1267: .TP
 1268: .B \-v ID,FORMAT[:BYTEORDER][,NAME]
 1269: [ATA only] Sets a vendor\-specific raw value print FORMAT, an optional
 1270: BYTEORDER and an optional NAME for Attribute ID.
 1271: This directive may be used multiple times.
 1272: Please see \fBsmartctl -v\fP command-line option for further details.
 1273: 
 1274: The following arguments affect smartd warning output:
 1275: 
 1276: .I 197,increasing
 1277: \- Raw Attribute number 197 (Current Pending Sector Count) is not
 1278: reset if uncorrectable sectors are reallocated.  This sets \'-C 197+\'
 1279: if no other \'-C\' directive is specified.
 1280: 
 1281: .I 198,increasing
 1282: \- Raw Attribute number 198 (Offline Uncorrectable Sector Count) is not
 1283: reset if uncorrectable sector are reallocated.  This sets \'-U 198+\'
 1284: if no other \'-U\' directive is specified.
 1285: .TP
 1286: .B \-P TYPE
 1287: [ATA only] Specifies whether \fBsmartd\fP should use any preset options
 1288: that are available for this drive.
 1289: The valid arguments to this Directive are:
 1290: 
 1291: .I use
 1292: \- use any presets that are available for this drive.  This is the default.
 1293: 
 1294: .I ignore
 1295: \- do not use any presets for this drive.
 1296: 
 1297: .I show
 1298: \- show the presets listed for this drive in the database.
 1299: 
 1300: .I showall
 1301: \- show the presets that are available for all drives and then exit.
 1302: 
 1303: [Please see the
 1304: .B smartctl \-P
 1305: command-line option.]
 1306: .TP
 1307: .B \-a
 1308: Equivalent to turning on all of the following Directives: 
 1309: .B \'\-H\' 
 1310: to check the SMART health status,
 1311: .B \'\-f\' 
 1312: to report failures of Usage (rather than Prefail) Attributes,
 1313: .B \'\-t\' 
 1314: to track changes in both Prefailure and Usage Attributes,
 1315: .B \'\-l\ error\'
 1316: to report increases in the number of ATA errors,
 1317: .B \'\-l\ selftest\'
 1318: to report increases in the number of Self-Test Log errors,
 1319: .B \'\-l\ selfteststs\'
 1320: to report changes of Self-Test execution status,
 1321: .B \'\-C 197\'
 1322: to report nonzero values of the current pending sector count, and
 1323: .B \'\-U 198\'
 1324: to report nonzero values of the offline pending sector count.
 1325: 
 1326: Note that \-a is the default for ATA devices.  If none of these other
 1327: Directives is given, then \-a is assumed.
 1328: .TP
 1329: .B #
 1330: Comment: ignore the remainder of the line.
 1331: .TP
 1332: .B \e
 1333: Continuation character: if this is the last non-white or non-comment
 1334: character on a line, then the following line is a continuation of the current
 1335: one.
 1336: .PP
 1337: If you are not sure which Directives to use, I suggest experimenting
 1338: for a few minutes with
 1339: .B smartctl
 1340: to see what SMART functionality your disk(s) support(s).  If you do
 1341: not like voluminous syslog messages, a good choice of
 1342: \fBsmartd\fP
 1343: configuration file Directives might be:
 1344: .nf
 1345: .B \-H \-l\ selftest \-l\ error \-f.
 1346: .fi
 1347: If you want more frequent information, use:
 1348: .B -a.
 1349: 
 1350: .TP
 1351: .B ADDITIONAL DETAILS ABOUT DEVICESCAN
 1352: If a non-comment entry in the configuration file is the text
 1353: string \fBDEVICESCAN\fP in capital letters, then \fBsmartd\fP will
 1354: ignore any remaining lines in the configuration file, and will scan
 1355: for devices.
 1356: 
 1357: Configuration entries for devices not found by the platform\-specific
 1358: device scanning may precede the \fBDEVICESCAN\fP entry.
 1359: 
 1360: If \fBDEVICESCAN\fP is not followed by any Directives, then smartd
 1361: will scan for both ATA and SCSI devices, and will monitor all possible
 1362: SMART properties of any devices that are found.
 1363: 
 1364: \fBDEVICESCAN\fP may optionally be followed by any valid Directives,
 1365: which will be applied to all devices that are found in the scan.  For
 1366: example
 1367: .nf
 1368: .B DEVICESCAN -m root@example.com
 1369: .fi
 1370: will scan for all devices, and then monitor them.  It will send one
 1371: email warning per device for any problems that are found.
 1372: .nf
 1373: .B  DEVICESCAN -d ata -m root@example.com
 1374: .fi
 1375: will do the same, but restricts the scan to ATA devices only.  
 1376: .nf
 1377: .B  DEVICESCAN -H -d ata -m root@example.com
 1378: .fi
 1379: will do the same, but only monitors the SMART health status of the
 1380: devices, (rather than the default \-a, which monitors all SMART
 1381: properties).
 1382: 
 1383: .TP
 1384: .B EXAMPLES OF SHELL SCRIPTS FOR \'\-M exec\'
 1385: These are two examples of shell scripts that can be used with the \'\-M
 1386: exec PATH\' Directive described previously.  The paths to these scripts
 1387: and similar executables is the PATH argument to the \'\-M exec PATH\'
 1388: Directive.
 1389: 
 1390: Example 1: This script is for use with \'\-m ADDRESS -M exec PATH\'.  It appends
 1391: the output of
 1392: .B smartctl -a
 1393: to the output of the smartd email warning message and sends it to ADDRESS.
 1394: 
 1395: .nf
 1396: \fB
 1397: #! /bin/bash
 1398: 
 1399: # Save the email message (STDIN) to a file:
 1400: cat > /root/msg
 1401: 
 1402: # Append the output of smartctl -a to the message:
 1403: /usr/local/sbin/smartctl -a -d $SMART_DEVICETYPE $SMARTD_DEVICE >> /root/msg
 1404:  
 1405: # Now email the message to the user at address ADD:
 1406: /bin/mail -s "$SMARTD_SUBJECT" $SMARTD_ADDRESS < /root/msg
 1407: \fP
 1408: .fi
 1409: 
 1410: Example 2: This script is for use with \'\-m <nomailer> \-M exec
 1411: PATH\'. It warns all users about a disk problem, waits 30 seconds, and
 1412: then powers down the machine.
 1413: 
 1414: .nf
 1415: \fB
 1416: #! /bin/bash
 1417: 
 1418: # Warn all users of a problem
 1419: wall \'Problem detected with disk: \' "$SMARTD_DEVICESTRING"
 1420: wall \'Warning message from smartd is: \' "$SMARTD_MESSAGE"
 1421: wall \'Shutting down machine in 30 seconds... \'
 1422:  
 1423: # Wait half a minute
 1424: sleep 30
 1425:  
 1426: # Power down the machine
 1427: /sbin/shutdown -hf now
 1428: \fP
 1429: .fi
 1430: 
 1431: Some example scripts are distributed with the smartmontools package,
 1432: in /usr/local/share/doc/smartmontools/examplescripts/.
 1433: 
 1434: Please note that these scripts typically run as root, so any files
 1435: that they read/write should not be writable by ordinary users or
 1436: reside in directories like /tmp that are writable by ordinary users
 1437: and may expose your system to symlink attacks.
 1438: 
 1439: As previously described, if the scripts write to STDOUT or STDERR,
 1440: this is interpreted as indicating that there was an internal error
 1441: within the script, and a snippet of STDOUT/STDERR is logged to SYSLOG.
 1442: The remainder is flushed.
 1443: 
 1444: .PP
 1445: .SH AUTHOR
 1446: \fBBruce Allen\fP smartmontools\-support@lists.sourceforge.net
 1447: .fi
 1448: University of Wisconsin \- Milwaukee Physics Department
 1449: 
 1450: .PP
 1451: .SH CONTRIBUTORS
 1452: The following have made large contributions to smartmontools:
 1453: .nf
 1454: \fBCasper Dik\fP (Solaris SCSI interface)
 1455: \fBChristian Franke\fP (Windows interface, C++ redesign, USB support, ...)
 1456: \fBDouglas Gilbert\fP (SCSI subsystem)
 1457: \fBGuido Guenther\fP (Autoconf/Automake packaging)
 1458: \fBGeoffrey Keating\fP (Darwin ATA interface)
 1459: \fBEduard Martinescu\fP (FreeBSD interface)
 1460: \fBFr\['e]d\['e]ric L. W. Meunier\fP (Web site and Mailing list)
 1461: \fBGabriele Pohl\fP (Web site and Wiki, conversion from CVS to SVN)
 1462: \fBKeiji Sawada\fP (Solaris ATA interface)
 1463: \fBManfred Schwarb\fP (Drive database)
 1464: \fBSergey Svishchev\fP (NetBSD interface)
 1465: \fBDavid Snyder and Sergey Svishchev\fP (OpenBSD interface)
 1466: \fBPhil Williams\fP (User interface and drive database)
 1467: \fBShengfeng Zhou\fP (Linux/FreeBSD HighPoint RocketRAID interface)
 1468: .fi
 1469: Many other individuals have made smaller contributions and corrections.
 1470: 
 1471: .PP
 1472: .SH CREDITS
 1473: .fi
 1474: This code was derived from the smartsuite package, written by Michael
 1475: Cornwell, and from the previous UCSC smartsuite package.  It extends
 1476: these to cover ATA\-5 disks.  This code was originally developed as a
 1477: Senior Thesis by Michael Cornwell at the Concurrent Systems Laboratory
 1478: (now part of the Storage Systems Research Center), Jack Baskin School
 1479: of Engineering, University of California, Santa
 1480: Cruz. \fBhttp://ssrc.soe.ucsc.edu/\fP .
 1481: .SH
 1482: HOME PAGE FOR SMARTMONTOOLS: 
 1483: .fi
 1484: Please see the following web site for updates, further documentation, bug
 1485: reports and patches: \fBhttp://smartmontools.sourceforge.net/\fP
 1486: 
 1487: .SH
 1488: SEE ALSO:
 1489: \fBsmartd\fP(8), \fBsmartctl\fP(8), \fBsyslogd\fP(8),
 1490: \fBsyslog.conf\fP(5), \fBbadblocks\fP(8), \fBide\-smart\fP(8), \fBregex\fP(7).
 1491: 
 1492: .SH
 1493: SVN ID OF THIS PAGE:
 1494: $Id: smartd.conf.5.in,v 1.1 2012/02/21 16:32:16 misho Exp $

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>