Annotation of embedaddon/smartmontools/smartd.conf.5.in, revision 1.1

1.1     ! misho       1: .ig
        !             2: Copyright (C) 2002-10 Bruce Allen <smartmontools-support@lists.sourceforge.net>
        !             3: 
        !             4: $Id: smartd.conf.5.in 3445 2011-10-12 21:53:02Z chrfranke $
        !             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 3445 2011-10-12 21:53:02Z chrfranke $

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