diff options
Diffstat (limited to '')
-rw-r--r-- | smartd.conf | 126 | ||||
-rw-r--r-- | smartd.conf.5.in | 1796 |
2 files changed, 1922 insertions, 0 deletions
diff --git a/smartd.conf b/smartd.conf new file mode 100644 index 0000000..48942a7 --- /dev/null +++ b/smartd.conf @@ -0,0 +1,126 @@ +# Sample configuration file for smartd. See man smartd.conf. + +# Home page is: https://www.smartmontools.org + +# smartd will re-read the configuration file if it receives a HUP +# signal + +# The file gives a list of devices to monitor using smartd, with one +# device per line. Text after a hash (#) is ignored, and you may use +# spaces and tabs for white space. You may use '\' to continue lines. + +# The word DEVICESCAN will cause any remaining lines in this +# configuration file to be ignored: it tells smartd to scan for all +# ATA and SCSI devices. DEVICESCAN may be followed by any of the +# Directives listed below, which will be applied to all devices that +# are found. Most users should comment out DEVICESCAN and explicitly +# list the devices that they wish to monitor. +DEVICESCAN + +# Alternative setting to ignore temperature and power-on hours reports +# in syslog. +#DEVICESCAN -I 194 -I 231 -I 9 + +# Alternative setting to report more useful raw temperature in syslog. +#DEVICESCAN -R 194 -R 231 -I 9 + +# Alternative setting to report raw temperature changes >= 5 Celsius +# and min/max temperatures. +#DEVICESCAN -I 194 -I 231 -I 9 -W 5 + +# First ATA/SATA or SCSI/SAS disk. Monitor all attributes, enable +# automatic online data collection, automatic Attribute autosave, and +# start a short self-test every day between 2-3am, and a long self test +# Saturdays between 3-4am. +#/dev/sda -a -o on -S on -s (S/../.././02|L/../../6/03) + +# Monitor SMART status, ATA Error Log, Self-test log, and track +# changes in all attributes except for attribute 194 +#/dev/sdb -H -l error -l selftest -t -I 194 + +# Monitor all attributes except normalized Temperature (usually 194), +# but track Temperature changes >= 4 Celsius, report Temperatures +# >= 45 Celsius and changes in Raw value of Reallocated_Sector_Ct (5). +# Send mail on SMART failures or when Temperature is >= 55 Celsius. +#/dev/sdc -a -I 194 -W 4,45,55 -R 5 -m admin@example.com + +# An ATA disk may appear as a SCSI device to the OS. If a SCSI to +# ATA Translation (SAT) layer is between the OS and the device then +# this can be flagged with the '-d sat' option. +#/dev/sda -a -d sat + +# A very silent check. Only report SMART health status if it fails +# But send an email in this case +#/dev/sdc -H -C 0 -U 0 -m admin@example.com + +# First two SCSI disks. This will monitor everything that smartd can +# monitor. Start extended self-tests Wednesdays between 6-7pm and +# Sundays between 1-2 am +#/dev/sda -d scsi -s L/../../3/18 +#/dev/sdb -d scsi -s L/../../7/01 + +# Monitor 2 SATA (not SAS) disks connected to a 3ware 9000 controller which +# uses the 3w-sas driver (Linux). Start long self-tests Tuesdays +# between 1-2 and 3-4 am. +# On FreeBSD /dev/tws0 should be used instead +#/dev/twl0 -d 3ware,0 -a -s L/../../2/01 +#/dev/twl0 -d 3ware,1 -a -s L/../../2/03 + +# Monitor 2 disks connected to the first HP SmartArray controller which uses +# the Linux cciss driver. Start long self-tests on Sunday nights and short +# self-tests every night and send errors to root. +#/dev/sda -d cciss,0 -a -s (L/../../7/02|S/../.././02) -m root +#/dev/sda -d cciss,1 -a -s (L/../../7/03|S/../.././03) -m root + +# Monitor 3 ATA disks directly connected to a HighPoint RocketRAID. Start long +# self-tests Sundays between 1-2, 2-3, and 3-4 am. +#/dev/sdd -d hpt,1/1 -a -s L/../../7/01 +#/dev/sdd -d hpt,1/2 -a -s L/../../7/02 +#/dev/sdd -d hpt,1/3 -a -s L/../../7/03 + +# Monitor 2 ATA disks connected to the same PMPort which connected to the +# HighPoint RocketRAID. Start long self-tests Tuesdays between 1-2 and 3-4 am +#/dev/sdd -d hpt,1/4/1 -a -s L/../../2/01 +#/dev/sdd -d hpt,1/4/2 -a -s L/../../2/03 + +# HERE IS A LIST OF DIRECTIVES FOR THIS CONFIGURATION FILE. +# PLEASE SEE THE smartd.conf MAN PAGE FOR DETAILS +# +# -d TYPE Set the device type: ata, scsi[+TYPE], nvme[,NSID], +# sat[,auto][,N][+TYPE], usbcypress[,X], usbjmicron[,p][,x][,N], +# usbprolific, usbsunplus, sntasmedia, sntjmicron[,NSID], sntrealtek, +# ... (platform specific) +# -T TYPE Set the tolerance to one of: normal, permissive +# -o VAL Enable/disable automatic offline tests (on/off) +# -S VAL Enable/disable attribute autosave (on/off) +# -n MODE No check if: never, sleep[,N][,q], standby[,N][,q], idle[,N][,q] +# -H Monitor SMART Health Status, report if failed +# -s REG Do Self-Test at time(s) given by regular expression REG +# -l TYPE Monitor SMART log or self-test status: +# error, selftest, xerror, offlinests[,ns], selfteststs[,ns] +# -l scterc,R,W Set SCT Error Recovery Control +# -e Change device setting: aam,[N|off], apm,[N|off], dsn,[on|off], +# lookahead,[on|off], security-freeze, standby,[N|off], wcache,[on|off] +# -f Monitor 'Usage' Attributes, report failures +# -m ADD Send email warning to address ADD +# -M TYPE Modify email warning behavior (see man page) +# -p Report changes in 'Prefailure' Attributes +# -u Report changes in 'Usage' Attributes +# -t Equivalent to -p and -u Directives +# -r ID Also report Raw values of Attribute ID with -p, -u or -t +# -R ID Track changes in Attribute ID Raw value with -p, -u or -t +# -i ID Ignore Attribute ID for -f Directive +# -I ID Ignore Attribute ID for -p, -u or -t Directive +# -C ID[+] Monitor [increases of] Current Pending Sectors in Attribute ID +# -U ID[+] Monitor [increases of] Offline Uncorrectable Sectors in Attribute ID +# -W D,I,C Monitor Temperature D)ifference, I)nformal limit, C)ritical limit +# -v N,ST Modifies labeling of Attribute N (see man page) +# -P TYPE Drive-specific presets: use, ignore, show, showall +# -a Default: -H -f -t -l error -l selftest -l selfteststs -C 197 -U 198 +# -F TYPE Use firmware bug workaround: +# none, nologdir, samsung, samsung2, samsung3, xerrorlba +# -c i=N Set interval between disk checks to N seconds +# # Comment: text after a hash sign is ignored +# \ Line continuation character +# Attribute ID is a decimal integer 1 <= ID <= 255 +# except for -C and -U, where ID = 0 turns them off. diff --git a/smartd.conf.5.in b/smartd.conf.5.in new file mode 100644 index 0000000..77d7c17 --- /dev/null +++ b/smartd.conf.5.in @@ -0,0 +1,1796 @@ +.ig +Copyright (C) 2002-10 Bruce Allen +Copyright (C) 2004-23 Christian Franke + +SPDX-License-Identifier: GPL-2.0-or-later + +$Id: smartd.conf.5.in 5521 2023-07-24 16:44:49Z chrfranke $ + +.. +.\" Macros borrowed from pages generated with Pod::Man +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp 0.4v +.if n .sp +.. +.de Vb \" Begin verbatim text +.if t .ft CW +.if n .ft R +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Use groff extension \(aq (apostrophe quote, ASCII 0x27) if possible +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.TH SMARTD.CONF 5 "CURRENT_SVN_DATE" "CURRENT_SVN_VERSION" "SMART Monitoring Tools" +.SH NAME +\fBsmartd.conf\fP \- SMART Disk Monitoring Daemon Configuration File\fP +.Sp +.SH DESCRIPTION +.\" %IF NOT OS ALL +.\"! [This man page is generated for the OS_MAN_FILTER version of smartmontools. +.\"! It does not contain info specific to other platforms.] +.\"! .PP +.\" %ENDIF NOT OS ALL +\fB/usr/local/etc/smartd.conf\fP is the configuration file for the \fBsmartd\fP +daemon. +.PP +If the configuration file \fB/usr/local/etc/smartd.conf\fP is present, +\fBsmartd\fP reads it at startup. +If \fBsmartd\fP subsequently receives a \fBHUP\fP signal, +it will then re-read the configuration file. If \fBsmartd\fP is +running in debug mode, then an \fBINT\fP signal will also make it +re-read the configuration file. This signal can be generated by typing +\fB<CONTROL-C>\fP in the terminal window where \fBsmartd\fP is +running. +.PP +In the absence of a configuration file +\fBsmartd\fP will try to open all available devices +(see \fBsmartd\fP(8) man page). +A configuration file with a single line \fB\*(AqDEVICESCAN \-a\*(Aq\fP +would have the same effect. +.PP +This can be annoying if you have an ATA or SCSI device that hangs or +misbehaves when receiving SMART commands. Even if this causes no +problems, you may be annoyed by the string of error log messages about devices +that can't be opened. +.PP +One can avoid this problem, and gain more control over the types of +events monitored by \fBsmartd\fP, by using the configuration file +\fB/usr/local/etc/smartd.conf\fP. +This file contains a list of devices to monitor, with one device per +line. An example file is included with the +.B smartmontools +distribution. You will find this sample configuration file in +\fB/usr/local/share/doc/smartmontools/\fP. +For security, the configuration file should not be writable by anyone +but root. +The syntax of the file is as follows: +.IP \(bu 4 +There should be one device listed per line, although you may have +lines that are entirely comments or white space. +.IP \(bu 4 +Any text following a hash sign \*(Aq#\*(Aq and up to the end of the line is +taken to be a comment, and ignored. +.IP \(bu 4 +Lines may be continued by using a backslash \*(Aq\e\*(Aq as the last +non-whitespace or non-comment item on a line. +.IP \(bu 4 +Note: a line whose first character is a hash sign \*(Aq#\*(Aq is treated as +a white-space blank line, \fBnot\fP as a non-existent line, and will +\fBend\fP a continuation line. +.PP +Here is an example configuration file. It's for illustrative purposes +only; please don't copy it onto your system without reading to the end +of the +.B DIRECTIVES +Section below! +.PP +.Vb 9 +################################################ +# This is an example smartd startup config file +# /usr/local/etc/smartd.conf +# +# On the second disk, start a long self-test every +# Sunday between 3 and 4 am. +# +/dev/sda \-a \-m admin@example.com,root@localhost +/dev/sdb \-a \-I 194 \-I 5 \-i 12 \-s L/../../7/03 +# +# Send a TEST warning email to admin on startup. +# +/dev/sdc \-m admin@example.com \-M test +# +# An ATA disk may appear as a SCSI device to the +# OS. If a SCSI to ATA Translation (SAT) layer +# is between the OS and the device then this can be +# flagged with the '\-d sat' option. +/dev/sda \-a \-d sat +.\" %IF OS FreeBSD Linux +# +# Disks connected to a MegaRAID controller +# Start short self\-tests daily between 1\-2, 2\-3, and +# 3\-4 am. +.\" %ENDIF OS FreeBSD Linux +.\" %IF OS Linux +# Linux: +/dev/sda \-d megaraid,0 \-a \-s S/../.././01 +/dev/sda \-d megaraid,1 \-a \-s S/../.././02 +/dev/sda \-d megaraid,2 \-a \-s S/../.././03 +/dev/bus/0 \-d megaraid,2 \-a \-s S/../.././03 +.\" %ENDIF OS Linux +.\" %IF OS FreeBSD +# FreeBSD: +/dev/mfi0 \-d megaraid,0 \-a \-s S/../.././01 +/dev/mfi0 \-d megaraid,1 \-a \-s S/../.././02 +/dev/mfi0 \-d megaraid,2 \-a \-s S/../.././03 +/dev/mrsas0 \-d megaraid,2 \-a \-s S/../.././03 +.\" %ENDIF OS FreeBSD +.\" %IF OS Linux +# +# Three disks connected to an AacRaid controller +# Start short self\-tests daily between 1\-2, 2\-3, and +# 3\-4 am. +/dev/sda \-d aacraid,0,0,66 \-a \-s S/../.././01 +/dev/sda \-d aacraid,0,0,67 \-a \-s S/../.././02 +/dev/sda \-d aacraid,0,0,68 \-a \-s S/../.././03 +.\" %ENDIF OS Linux +.\" %IF OS FreeBSD Linux +# +# Two SATA (not SAS) disks on a 3ware 9750 controller. +# Start long self\-tests Sundays between midnight and +# 1 am and 2\-3 am +.\" %ENDIF OS FreeBSD Linux +.\" %IF OS Linux +# under Linux +/dev/twl0 \-d 3ware,0 \-a \-s L/../../7/00 +/dev/twl0 \-d 3ware,1 \-a \-s L/../../7/02 +.\" %ENDIF OS Linux +.\" %IF OS FreeBSD +# under FreeBSD +/dev/tws0 \-d 3ware,0 \-a \-s L/../../7/00 +/dev/tws0 \-d 3ware,1 \-a \-s L/../../7/02 +.\" %ENDIF OS FreeBSD +.\" %IF OS Linux +# +# Two disks connected to the first HP SmartArray controller +# which uses the Linux cciss driver. Start long self\-tests +# on Sunday nights and short self\-tests every night and send +# errors to root. +/dev/sda \-d cciss,0 \-a \-s (L/../../7/02|S/../.././02) \-m root +/dev/sda \-d cciss,1 \-a \-s (L/../../7/03|S/../.././03) \-m root +.\" %ENDIF OS Linux +.\" %IF OS FreeBSD Linux +# +# Three SATA disks on a HighPoint RocketRAID controller. +# Start short self\-tests daily between 1\-2, 2\-3, and +# 3\-4 am. +.\" %ENDIF OS FreeBSD Linux +.\" %IF OS Linux +# under Linux +/dev/sde \-d hpt,1/1 \-a \-s S/../.././01 +/dev/sde \-d hpt,1/2 \-a \-s S/../.././02 +/dev/sde \-d hpt,1/3 \-a \-s S/../.././03 +.\" %ENDIF OS Linux +.\" %IF OS FreeBSD +# under FreeBSD +/dev/hptrr \-d hpt,1/1 \-a \-s S/../.././01 +/dev/hptrr \-d hpt,1/2 \-a \-s S/../.././02 +/dev/hptrr \-d hpt,1/3 \-a \-s S/../.././03 +.\" %ENDIF OS FreeBSD +.\" %IF OS FreeBSD Linux +# +# Two SATA disks connected to a HighPoint RocketRAID +# via a pmport device. Start long self\-tests Sundays +# between midnight and 1 am and 2\-3 am. +.\" %ENDIF OS FreeBSD Linux +.\" %IF OS Linux +# under Linux +/dev/sde \-d hpt,1/4/1 \-a \-s L/../../7/00 +/dev/sde \-d hpt,1/4/2 \-a \-s L/../../7/02 +.\" %ENDIF OS Linux +.\" %IF OS FreeBSD +# under FreeBSD +/dev/hptrr \-d hpt,1/4/1 \-a \-s L/../../7/00 +/dev/hptrr \-d hpt,1/4/2 \-a \-s L/../../7/02 +.\" %ENDIF OS FreeBSD +.\" %IF OS FreeBSD Linux +# +# Three SATA disks connected to an Areca +# RAID controller. Start long self\-tests Sundays +# between midnight and 3 am. +.\" %ENDIF OS FreeBSD Linux +.\" %IF OS Linux +# under Linux +/dev/sg2 \-d areca,1 \-a \-s L/../../7/00 +/dev/sg2 \-d areca,2 \-a \-s L/../../7/01 +/dev/sg2 \-d areca,3 \-a \-s L/../../7/02 +.\" %ENDIF OS Linux +.\" %IF OS FreeBSD +# under FreeBSD +/dev/arcmsr0 \-d areca,1 \-a \-s L/../../7/00 +/dev/arcmsr0 \-d areca,2 \-a \-s L/../../7/01 +/dev/arcmsr0 \-d areca,3 \-a \-s L/../../7/02 +.\" %ENDIF OS FreeBSD +# +# The following line enables monitoring of the +# ATA Error Log and the Self\-Test Error Log. +# It also tracks changes in both Prefailure +# and Usage Attributes, apart from Attributes +# 9, 194, and 231, and shows continued lines: +# +/dev/sdd\ \-l\ error\ \e +\ \ \ \ \ \-l\ selftest\ \e +\ \ \ \ \ \-t\ \e\ \ \ \ \ \ \ \ \ # Attributes not tracked: +\ \ \ \ \ \-I\ 194\ \e\ \ \ \ \ # temperature +\ \ \ \ \ \-I\ 231\ \e\ \ \ \ \ # also temperature +\ \ \ \ \ \-I\ 9\ \ \ \ \ \ \ \ \ # power\-on hours +# +################################################ +.Ve +.Sp +.SH DEVICESCAN +If a non-comment entry in the configuration file is the text string +.B DEVICESCAN +in capital letters, then +\fBsmartd\fP +will ignore any remaining lines in the configuration file, and will +scan for devices. +If +.B DEVICESCAN +is not followed by any Directives, then \*(Aq\-a\*(Aq will apply to all +devices. +.PP +.B DEVICESCAN +may optionally be followed by Directives that will apply to all +devices that are found in the scan. +For example +.PP +.Vb +\ \ DEVICESCAN \-m root@example.com +.Ve +.PP +will scan for all devices, and then monitor them. +It will send one email warning per device for any problems that are found. +.PP +.Vb +\ \ DEVICESCAN \-H \-m root@example.com +.Ve +.PP +will do the same, but only monitors the SMART health status of the +devices, rather than the default \*(Aq\-a\*(Aq. +.PP +Multiple \*(Aq\-d TYPE\*(Aq options may be specified with DEVICESCAN +to combine the scan results of more than one TYPE. +.PP +Configuration entries for specific devices may precede the \fBDEVICESCAN\fP +entry. +For example +.PP +.Vb 4 +\ \ DEFAULT \-m root@example.com +\ \ /dev/sda \-s S/../.././02 +\ \ /dev/sdc \-d ignore +\ \ DEVICESCAN \-s L/../.././02 +.Ve +.PP +will scan for all devices except /dev/sda and /dev/sdc, monitor them, and +run a long test between 2\(en3 am every morning. +Device /dev/sda will also be monitored, but only a short test will be run. +Device /dev/sdc will be ignored. +Warning emails will be sent for all monitored devices. +.PP +A device is ignored by DEVICESCAN if a configuration line with the same +device name exists. +.\" %IF NOT OS Windows OS2 +Symbolic links are resolved before this check is done. +.\" %ENDIF NOT OS Windows OS2 +A device name is also ignored if another device with same identify +information (vendor, model, firmware version, serial number, WWN) already +exists. +.Sp +.SH DEFAULT SETTINGS +If an entry in the configuration file starts with +.B DEFAULT +instead of a device name, then all directives in this entry are set +as defaults for the next device entries. +.PP +This configuration: +.PP +.Vb 7 +\ \ DEFAULT \-a \-R5! \-W 2,40,45 \-I 194 \-s L/../../7/00 \-m admin@example.com +\ \ /dev/sda +\ \ /dev/sdb +\ \ /dev/sdc +\ \ DEFAULT \-H \-m admin@example.com +\ \ /dev/sdd +\ \ /dev/sde \-d removable +.Ve +.PP +has the same effect as: +.PP +.Vb 5 +\ \ /dev/sda \-a \-R5! \-W 2,40,45 \-I 194 \-s L/../../7/00 \-m admin@example.com +\ \ /dev/sdb \-a \-R5! \-W 2,40,45 \-I 194 \-s L/../../7/00 \-m admin@example.com +\ \ /dev/sdc \-a \-R5! \-W 2,40,45 \-I 194 \-s L/../../7/00 \-m admin@example.com +\ \ /dev/sdd \-H \-m admin@example.com +\ \ /dev/sde \-d removable \-H \-m admin@example.com +.Ve +.Sp +.SH CONFIGURATION FILE DIRECTIVES +The following are the Directives that may appear following the device +name or +.B DEVICESCAN +or +.B DEFAULT +on any line of the +.B /usr/local/etc/smartd.conf +configuration file. Note that +.B these are NOT command-line options for +\fBsmartd\fP. +The Directives below may appear in any order, following the device +name. +.PP +.B For an ATA device, +if no Directives appear, then the device will be monitored +as if the \*(Aq\-a\*(Aq Directive (monitor all SMART properties) had been given. +.PP +.B If a SCSI disk is listed, +it will be monitored at the maximum implemented level: roughly +equivalent to using the \*(Aq\-H \-l selftest\*(Aq options for an ATA disk. +So with the exception of \*(Aq\-d\*(Aq, \*(Aq\-m\*(Aq, \*(Aq\-l selftest\*(Aq, +\*(Aq\-s\*(Aq, and \*(Aq\-M\*(Aq, the Directives below are ignored for SCSI disks. +For SCSI disks, the \*(Aq\-m\*(Aq Directive sends a warning email if the SMART +status indicates a disk failure or problem, if the SCSI inquiry about disk +status fails, or if new errors appear in the self-test log. +.\" %IF OS FreeBSD Linux +.PP +.B If a 3ware controller is used +then the corresponding SCSI (/dev/sd?) or character device (/dev/twe?, +/dev/twa?, /dev/twl? or /dev/tws?) must be listed, along with the +\*(Aq\-d 3ware,N\*(Aq Directive (see below). +The individual ATA disks hosted by the 3ware controller appear to \fBsmartd\fP +as normal ATA devices. +Hence all the ATA directives can be used for these disks (but see note below). +.PP +.B If an Areca controller is used +then the corresponding device (SCSI /dev/sg? on Linux or /dev/arcmsr0 on +FreeBSD) must be listed, along with the \*(Aq\-d areca,N\*(Aq Directive +(see below). +The individual SATA disks hosted by the Areca controller appear to \fBsmartd\fP +as normal ATA devices. Hence all the ATA directives can be used for +these disks. Areca firmware version 1.46 or later which supports +smartmontools must be used; Please see the \fBsmartctl\fP(8) man page +for further details. +.\" %ENDIF OS FreeBSD Linux +.TP +.B \-d TYPE +Specifies the type of the device. +The valid arguments to this directive are: +.Sp +.I auto +\- attempt to guess the device type from the device name or from +controller type info provided by the operating system or from +a matching USB ID entry in the drive database. +This is the default. +.Sp +.I ata +\- the device type is ATA. This prevents +\fBsmartd\fP +from issuing SCSI commands to an ATA device. +.Sp +.\" %IF NOT OS Darwin +.I scsi +\- the device type is SCSI. This prevents +\fBsmartd\fP +from issuing ATA commands to a SCSI device. +.Sp +.\" %ENDIF NOT OS Darwin +.\" %IF OS Darwin FreeBSD Linux NetBSD Windows Cygwin +.I nvme[,NSID] +\- the device type is NVM Express (NVMe). +The optional parameter NSID specifies the namespace id (in hex) passed +to the driver. +Use 0xffffffff for the broadcast namespace id. +The default for NSID is the namespace id addressed by the device name. +.Sp +.\" %ENDIF OS Darwin FreeBSD Linux NetBSD Windows Cygwin +.\" %IF NOT OS Darwin +.I sat[,auto][,N] +\- the device type is SCSI to ATA Translation (SAT). +This is for ATA disks that have a SCSI to ATA Translation Layer (SATL) +between the disk and the operating system. +SAT defines two ATA PASS THROUGH SCSI commands, one 12 bytes long and +the other 16 bytes long. The default is the 16 byte variant which can be +overridden with either \*(Aq\-d sat,12\*(Aq or \*(Aq\-d sat,16\*(Aq. +.Sp +If \*(Aq\-d sat,auto\*(Aq is specified, device type SAT (for ATA/SATA disks) +is only used if the SCSI INQUIRY data reports a SATL (VENDOR: "ATA "). +Otherwise device type SCSI (for SCSI/SAS disks) is used. +.Sp +.I usbasm1352r,PORT +\- [NEW EXPERIMENTAL SMARTD 7.4 FEATURE] +this device type is for one or two SATA disks that are behind an ASMedia +ASM1352R USB to SATA (RAID) bridge. +The parameter PORT (0 or 1) selects the disk to monitor. +.br +Note: This USB bridge also supports \*(Aq\-d sat\*(Aq. +This monitors either the first disk or the second disk if no disk is +connected to the first port. +.Sp +.I usbcypress +\- this device type is for ATA disks that are behind a Cypress USB to PATA +bridge. This will use the ATACB proprietary scsi pass through command. +The default SCSI operation code is 0x24, but although it can be overridden +with \*(Aq\-d usbcypress,0xN\*(Aq, where N is the scsi operation code, +you're running the risk of damage to the device or filesystems on it. +.Sp +.I usbjmicron[,p][,x][,PORT] +\- this device type is for SATA disks that are behind a JMicron USB to +PATA/SATA bridge. +The 48-bit ATA commands (required e.g.\& for \*(Aq\-l xerror\*(Aq, see below) +do not work with all of these bridges and are therefore disabled by default. +These commands can be enabled by \*(Aq\-d usbjmicron,x\*(Aq. +If two disks are connected to a bridge with two ports, an error message is +printed if no PORT (0 or 1) is specified. +.br +The PORT parameter is not necessary if the device uses a port multiplier to +connect multiple disks to one port. +The disks appear under separate /dev/ice names then. +.br +CAUTION: Specifying \*(Aq,x\*(Aq for a device which does not support it results +in I/O errors and may disconnect the drive. The same applies if the specified +PORT does not exist or is not connected to a disk. +.Sp +The Prolific PL2507/3507 USB bridges with older firmware support a pass-through +command similar to JMicron and work with \*(Aq\-d usbjmicron,0\*(Aq. +Newer Prolific firmware requires a modified command which can be selected by +\*(Aq\-d usbjmicron,p\*(Aq. +Note that this does not yet support the SMART status command. +.Sp +.I usbprolific +\- this device type is for SATA disks that are behind a Prolific +PL2571/2771/2773/2775 USB to SATA bridge. +.Sp +.I usbsunplus +\- this device type is for SATA disks that are behind a SunplusIT USB to SATA +bridge. +.Sp +.I sntasmedia +\- [NEW EXPERIMENTAL SMARTD 7.3 FEATURE] +this device type is for NVMe disks that are behind an ASMedia USB to NVMe +bridge. +.Sp +.I sntjmicron[,NSID] +\- this device type is for NVMe disks that are behind a JMicron USB to NVMe +bridge. +The optional parameter NSID specifies the namespace id (in hex) passed +to the driver. +The default namespace id is the broadcast namespace id (0xffffffff). +.Sp +.I sntrealtek +\- this device type is for NVMe disks that are behind a Realtek USB to NVMe +bridge. +.Sp +.\" %ENDIF NOT OS Darwin +.\" %IF OS Linux +.I marvell +\- [Linux only] (deprecated and subject to remove). +.Sp +.\" %ENDIF OS Linux +.\" %IF OS FreeBSD Linux +.I megaraid,N +\- [FreeBSD and Linux only] the device consists of one or more SCSI/SAS disks +connected to a MegaRAID controller. +The non-negative integer N (in the range of 0 to 127 inclusive) denotes which +disk on the controller is monitored. +This interface will also work for Dell PERC controllers. +In log files and email messages this disk will be identified as +megaraid_disk_XXX with XXX in the range from 000 to 127 inclusive. +Please see the \fBsmartctl\fP(8) man page for further details. +.Sp +.\" %ENDIF OS FreeBSD Linux +.\" %IF OS Linux Windows Cygwin +.I aacraid,H,L,ID +\- [Linux, Windows and Cygwin only] the device consists of one or more +SCSI/SAS or SATA disks connected to an AacRaid controller. +The non-negative integers H,L,ID (Host number, Lun, ID) denote which disk +on the controller is monitored. +In log files and email messages this disk will be identified as +aacraid_disk_HH_LL_ID. +Please see the \fBsmartctl\fP(8) man page for further details. +.Sp +.\" %ENDIF OS Linux Windows Cygwin +.\" %IF OS FreeBSD Linux +.I 3ware,N +\- [FreeBSD and Linux only] the device consists of one or more ATA disks +connected to a 3ware RAID controller. The non-negative integer N +(in the range from 0 to 127 inclusive) denotes which disk on the controller +is monitored. +In log files and email messages this disk will be identified as 3ware_disk_XXX +with XXX in the range from 000 to 127 inclusive. +.Sp +Note that while you may use \fBany\fP of the 3ware SCSI logical devices /dev/tw* +to address \fBany\fP of the physical disks (3ware ports), error and log +messages will make the most sense if you always list the 3ware SCSI +logical device corresponding to the particular physical disks. +Please see the \fBsmartctl\fP(8) man page for further details. +.Sp +.\" %ENDIF OS FreeBSD Linux +.\" %IF OS FreeBSD Linux Windows Cygwin +.I areca,N +\- [FreeBSD, Linux, Windows and Cygwin only] the device consists of one or +more SATA disks connected to an Areca SATA RAID controller. +The positive integer N (in the range from 1 to 24 inclusive) denotes which +disk on the controller is monitored. +In log files and email messages this disk will be identified as +areca_disk_XX with XX in the range from 01 to 24 inclusive. +Please see the \fBsmartctl\fP(8) man page for further details. +.Sp +.I areca,N/E +\- [FreeBSD, Linux, Windows and Cygwin only] the device consists of one +or more SATA or SAS disks connected to an Areca SAS RAID controller. +The integer N (range 1 to 128) denotes the channel (slot) and E (range +1 to 8) denotes the enclosure. +Important: This requires Areca SAS controller firmware version 1.51 or later. +.Sp +.\" %ENDIF OS FreeBSD Linux Windows Cygwin +.\" %IF OS FreeBSD Linux +.I cciss,N +\- [FreeBSD and Linux only] the device consists of one or more SCSI/SAS or +SATA disks connected to a cciss RAID controller. +The non-negative integer N (in the range from 0 to 15 inclusive) denotes +which disk on the controller is monitored. +In log files and email messages this disk will be identified as cciss_disk_XX +with XX in the range from 00 to 15 inclusive. +Please see the \fBsmartctl\fP(8) man page for further details. +.Sp +.I hpt,L/M/N +\- [FreeBSD and Linux only] the device consists of one or more ATA disks +connected to a HighPoint RocketRAID controller. The integer L is the +controller id, the integer M is the channel number, and the integer N +is the PMPort number if it is available. The allowed values of L are +from 1 to 4 inclusive, M are from 1 to 128 inclusive and N from 1 to 4 +if PMPort available. And also these values are limited by the model +of the HighPoint RocketRAID controller. +In log files and email messages this disk will be identified as +hpt_X/X/X and X/X/X is the same as L/M/N, note if no N indicated, N set +to the default value 1. +Please see the \fBsmartctl\fP(8) man page for further details. +.Sp +.\" %ENDIF OS FreeBSD Linux +.\" %IF OS Linux +.I sssraid,E,S +\- [Linux only: NEW EXPERIMENTAL SMARTD 7.4 FEATURE] +the device consists of one or more SCSI/SAS or SATA disks connected to a +SSSRAID controller. +The non-negative integer E (in the range of 0 to 8) denotes the enclosure +and S(range 0 to 128) denotes the slot. +Please see the \fBsmartctl\fP(8) man page for further details. +.Sp +.\" %ENDIF OS Linux +.I intelliprop,N[+TYPE] +\- (deprecated and subject to remove). +.Sp +.I jmb39x[\-q],N[,sLBA][,force][+TYPE] +\- the device consists of multiple SATA disks connected to a JMicron JMB39x +RAID port multiplier. +The suffix \*(Aq\-q\*(Aq selects a slightly different command variant used by +some QNAP NAS devices. +The integer N is the port number from 0 to 4. +Please see the \fBsmartctl\fP(8) man page for further details. +.Sp +.I jms56x,N[,sLBA][,force][+TYPE] +\- the device consists of multiple SATA disks connected to a JMicron JMS56x +USB to SATA RAID bridge. +See \*(Aqjmb39x...\*(Aq above for valid arguments. +.Sp +.I ignore +\- the device specified by this configuration entry should be ignored. +This allows one to ignore specific devices which are detected by a following +DEVICESCAN configuration line. +It may also be used to temporary disable longer multi-line configuration +entries. +This Directive may be used in conjunction with the other \*(Aq\-d\*(Aq +Directives. +.Sp +.I removable +\- the device or its media is removable. This indicates to +\fBsmartd\fP +that it should continue (instead of exiting, which is the default +behavior) if the device does not appear to be present when +\fBsmartd\fP is started. +This directive also suppresses warning emails and repeated log messages +if the device is removed after startup. +This Directive may be used in conjunction with the other \*(Aq\-d\*(Aq +Directives. +.br +\fBWARNING: Removing a device and connecting a different one to same interface +is not supported and may result in bogus warnings until smartd is restarted.\fP +.TP +.B \-n POWERMODE[,N][,q] +[ATA only] This \*(Aqnocheck\*(Aq Directive is used to prevent a disk from +being spun-up when it is periodically polled by \fBsmartd\fP. +.Sp +ATA disks have five different power states. In order of increasing +power consumption they are: \*(AqOFF\*(Aq, \*(AqSLEEP\*(Aq, +\*(AqSTANDBY\*(Aq, \*(AqIDLE\*(Aq, and \*(AqACTIVE\*(Aq. +Typically in the OFF, SLEEP, and STANDBY modes the disk's platters are not +spinning. +But usually, in response to SMART commands issued by \fBsmartd\fP, the disk +platters are spun up. +So if this option is not used, then a disk which is in a low-power mode may +be spun up and put into a higher-power mode when it is periodically +polled by \fBsmartd\fP. +.Sp +Note that if the disk is in SLEEP mode when \fBsmartd\fP is started, +then it won't respond to \fBsmartd\fP commands, and so the disk won't +be registered as a device for \fBsmartd\fP to monitor. If a disk is in +any other low-power mode, then the commands issued by \fBsmartd\fP to +register the disk will probably cause it to spin-up. +.Sp +The \*(Aq\fB\-n\fP\*(Aq (nocheck) Directive specifies if \fBsmartd\fP's +periodic checks should still be carried out when the device is in a +low-power mode. It may be used to prevent a disk from being spun-up +by periodic \fBsmartd\fP polling. The allowed values of POWERMODE +are: +.Sp +.I never +\- \fBsmartd\fP will poll (check) the device regardless of its power +mode. This may cause a disk which is spun-down to be spun-up when +\fBsmartd\fP checks it. This is the default behavior if the '\-n' +Directive is not given. +.Sp +.I sleep +\- check the device unless it is in SLEEP mode. +.Sp +.I standby +\- check the device unless it is in SLEEP or STANDBY mode. In +these modes most disks are not spinning, so if you want to prevent +a laptop disk from spinning up each time that \fBsmartd\fP polls, +this is probably what you want. +.Sp +.I idle +\- check the device unless it is in SLEEP, STANDBY or IDLE mode. +In the IDLE state, most disks are still spinning, so this is probably +not what you want. +.Sp +Maximum number of skipped checks (in a row) can be specified by +appending positive number \*(Aq,N\*(Aq to POWERMODE (like +\*(Aq\-n standby,15\*(Aq). +After N checks are skipped in a row, powermode is ignored and the +check is performed anyway. +.Sp +When a periodic test is skipped, \fBsmartd\fP normally writes an +informal log message. The message can be suppressed by appending +the option \*(Aq,q\*(Aq to POWERMODE (like \*(Aq\-n standby,q\*(Aq). +This prevents a laptop disk from spinning up due to this message. +.Sp +Both \*(Aq,N\*(Aq and \*(Aq,q\*(Aq can be specified together. +.TP +.B \-T TYPE +Specifies how tolerant +\fBsmartd\fP +should be of SMART command failures. The valid arguments to this +Directive are: +.Sp +.I normal +\- do not try to monitor the disk if a mandatory SMART command fails, but +continue if an optional SMART command fails. This is the default. +.Sp +.I permissive +\- try to monitor the disk even if it appears to lack SMART +capabilities. This may be required for some old disks (prior to +ATA-3 revision 4) that implemented SMART before the SMART standards +were incorporated into the ATA/ATAPI Specifications. +[Please see the \fBsmartctl \-T\fP command-line option.] +.TP +.B \-o VALUE +[ATA only] Enables or disables SMART Automatic Offline Testing when +\fBsmartd\fP +starts up and has no further effect. The valid arguments to this +Directive are \fIon\fP and \fIoff\fP. +.Sp +The delay between tests is vendor-specific, but is typically four +hours. +.Sp +Note that SMART Automatic Offline Testing is \fBnot\fP part of the ATA +Specification. Please see the +.B smartctl \-o +command-line option documentation for further information about this +feature. +.TP +.B \-S VALUE +Enables or disables Attribute Autosave when \fBsmartd\fP +starts up and has no further effect. The valid arguments to this +Directive are \fIon\fP and \fIoff\fP. Also affects SCSI devices. +[Please see the \fBsmartctl \-S\fP command-line option.] +.TP +.B \-H +[ATA] Check the health status of the disk with the SMART RETURN +STATUS command. +If this command reports a failing health status, then disk +failure is predicted in less than 24 hours, and a message at loglevel +.B \*(AqLOG_CRIT\*(Aq +will be logged to syslog. [Please see the +.B smartctl \-H +command-line option.] +.\" %IF OS Darwin FreeBSD Linux NetBSD Windows Cygwin +.Sp +[NVMe] Checks the "Critical Warning" byte from the SMART/Health +Information log. +If any warning bit is set, a message at loglevel \fB\*(AqLOG_CRIT\*(Aq\fP +will be logged to syslog. +.\" %ENDIF OS Darwin FreeBSD Linux NetBSD Windows Cygwin +.TP +.B \-l TYPE +Reports increases in the number of errors in one of three SMART logs. The +valid arguments to this Directive are: +.Sp +.I error +\- [ATA] report if the number of ATA errors reported in the Summary SMART +error log has increased since the last check. +.Sp +.\" %IF OS Darwin FreeBSD Linux NetBSD Windows Cygwin +.I error +\- [NVMe] report if the "Number of Error Information Log Entries" from the +SMART/Health Information log has increased since the last check. +.br +[NEW EXPERIMENTAL SMARTD 7.4 FEATURE] +This will only be logged as LOG_CRIT if at least one of the new errors is +still present in the Error Information log and its status indicates a +device related error. +Up to eight of the most recent of these errors are logged as LOG_INFO then. +This is useful because the NVMe Error Information log is not persistent +across power cycles or device resets. +.br +If all new errors are either no longer present in the log or are not device +related (e.g. invalid command, invalid field in command, ...), a LOG_INFO +message is generated instead. +This avoids misleading warnings if the operating system issues unsupported +commands and the device firmware also logs these kind of errors. +.Sp +.\" %ENDIF OS Darwin FreeBSD Linux NetBSD Windows Cygwin +.I xerror +\- [ATA] report if the number of ATA errors reported in the Extended +Comprehensive SMART error log has increased since the last check. +.Sp +If both \*(Aq\-l error\*(Aq and \*(Aq\-l xerror\*(Aq are specified, smartd +checks the maximum of both values. +.Sp +[Please see the \fBsmartctl \-l xerror\fP command-line option.] +.Sp +.\" %IF OS Darwin FreeBSD Linux NetBSD Windows Cygwin +.I xerror +\- [NVMe] same as \*(Aq\-l error\*(Aq. +.\" %ENDIF OS Darwin FreeBSD Linux NetBSD Windows Cygwin +.Sp +.I selftest +\- report if the number of failed tests reported in the SMART +Self-Test Log has increased since the last check, or if the timestamp +associated with the most recent failed test has increased. Note that +such errors will \fBonly\fP be logged if you run self-tests on the +disk (and it fails a test!). Self-Tests can be run automatically by +\fBsmartd\fP: please see the \*(Aq\-s\*(Aq Directive below. +Self-Tests can also be run manually by using the \*(Aq\-t short\*(Aq +and \fB\*(Aq\-t\ long\*(Aq\fP options of \fBsmartctl\fP and the results of +the testing can be observed using the \fBsmartctl \*(Aq\-l\ selftest\*(Aq\fP +command-line option. +[Please see the \fBsmartctl \-l\fP and \fB\-t\fP command-line +options.] +.Sp +[ATA only] Failed self-tests outdated by a newer successful extended +self-test are ignored. The warning email counter is reset if the +number of failed self tests dropped to 0. This typically happens when +an extended self-test is run after all bad sectors have been reallocated. +.Sp +.I offlinests[,ns] +\- [ATA only] report if the Offline Data Collection status has changed +since the last check. The report will be logged as LOG_CRIT if the new +status indicates an error. With some drives the status often changes, +therefore \*(Aq\-l offlinests\*(Aq is not enabled by \*(Aq\-a\*(Aq Directive. +.\" %IF NOT OS Cygwin Windows +.\"! Appending ',ns' (no standby) to this directive is not implemented +.\"! on OS_MAN_FILTER. +.\" %ENDIF NOT OS Cygwin Windows +.\" %IF OS Cygwin Windows +.Sp +[Windows and Cygwin only] If \*(Aq,ns\*(Aq (no standby) is appended to this +directive, smartd disables system auto standby as long as an Offline +Data Collection is in progress. See \*(Aq\-l selfteststs,ns\*(Aq below. +.\" %ENDIF OS Cygwin Windows +.Sp +.I selfteststs[,ns] +\- [ATA only] report if the Self-Test execution status has changed +since the last check. The report will be logged as LOG_CRIT if the new +status indicates an error. +.\" %IF NOT OS Cygwin Windows +.\"! Appending ',ns' (no standby) to this directive is not implemented +.\"! on OS_MAN_FILTER. +.\" %ENDIF NOT OS Cygwin Windows +.\" %IF OS Cygwin Windows +.Sp +[Windows and Cygwin only] If \*(Aq,ns\*(Aq (no standby) is appended to this +directive, smartd disables system auto standby as long as a Self-Test +is in progress. This prevents that a Self-Test is aborted because the +OS sets the system to a standby/sleep mode when idle. Smartd check +interval (\*(Aq\-i\*(Aq option) should be shorter than the configured idle +timeout. Auto standby is not disabled if the system is running on +battery. +.\" %ENDIF OS Cygwin Windows +.Sp +.I scterc,READTIME,WRITETIME +\- [ATA only] sets the SCT Error Recovery Control settings to the specified +values (deciseconds) when \fBsmartd\fP starts up and has no further effect. +Values of 0 disable the feature, other values less than 65 are probably +not supported. For RAID configurations, this is typically set to +70,70 deciseconds. +[Please see the \fBsmartctl \-l scterc\fP command-line option.] +.TP +.B \-e NAME[,VALUE] +Sets non-SMART device settings when \fBsmartd\fP starts up and has no +further effect. +[Please see the \fBsmartctl \-\-set\fP command-line option.] +Valid arguments are: +.Sp +.I aam,[N|off] +\- [ATA only] Sets the Automatic Acoustic Management (AAM) feature. +.Sp +.I apm,[N|off] +\- [ATA only] Sets the Advanced Power Management (APM) feature. +.Sp +.I lookahead,[on|off] +\- [ATA only] Sets the read look-ahead feature. +.Sp +.I security-freeze +\- [ATA only] Sets ATA Security feature to frozen mode. +.Sp +.I standby,[N|off] +\- [ATA only] Sets the standby (spindown) timer and places the drive in the +IDLE mode. +.Sp +.I wcache,[on|off] +\- [ATA only] Sets the volatile write cache feature. +.Sp +.I dsn,[on|off] +\- [ATA only] Sets the DSN feature. +.TP +.B \-s REGEXP +Run Self-Tests or Offline Immediate Tests, at scheduled times. A +Self- or Offline Immediate Test will be run at the end of periodic +device polling, if all 12 characters of the string \fBT/MM/DD/d/HH\fP +match the extended regular expression \fBREGEXP\fP. Here: +.RS 7 +.IP \fBT\fP 4 +is the type of the test. The values that \fBsmartd\fP will try to +match (in turn) are: \*(AqL\*(Aq for a \fBL\fPong Self-Test, \*(AqS\*(Aq for a +\fBS\fPhort Self-Test, \*(AqC\*(Aq for a \fBC\fPonveyance Self-Test (ATA +only), and \*(AqO\*(Aq for an \fBO\fPffline Immediate Test (ATA only). As +soon as a match is found, the test will be started and no additional +matches will be sought for that device and that polling cycle. +.Sp +To run scheduled Selective Self-Tests, use \*(Aqn\*(Aq for \fBn\fPext span, +\*(Aqr\*(Aq to \fBr\fPedo last span, or \*(Aqc\*(Aq to \fBc\fPontinue with +next span or redo last span based on status of last test. +The LBA range is based on the first span from the last test. +See the \fBsmartctl \-t select,[next|redo|cont]\fP options for +further info. +.Sp +Some disks (e.g.\& WD) do not preserve the selective self test log across +power cycles. If state persistence (\*(Aq\-s\*(Aq option) is enabled, the last +test span is preserved by smartd and used if (and only if) the selective +self test log is empty. +.IP \fBMM\fP 4 +is the month of the year, expressed with two decimal digits. The +range is from 01 (January) to 12 (December) inclusive. Do \fBnot\fP +use a single decimal digit or the match will always fail! +.IP \fBDD\fP 4 +is the day of the month, expressed with two decimal digits. The +range is from 01 to 31 inclusive. Do \fBnot\fP +use a single decimal digit or the match will always fail! +.IP \fBd\fP 4 +is the day of the week, expressed with one decimal digit. The +range is from 1 (Monday) to 7 (Sunday) inclusive. +.IP \fBHH\fP 4 +is the hour of the day, written with two decimal digits, and given in +hours after midnight. The range is 00 (midnight to just before 1 am) +to 23 (11pm to just before midnight) inclusive. Do \fBnot\fP use a +single decimal digit or the match will always fail! +.RE +.\" The following two lines define a non-existent option. +.\" This resets the margin to the level prior to the '.RS ... .RE' block. +.TP +.B \& +If the regular expression contains substrings of the form \fB:NNN\fP +or \fB:NNN-LLL\fP, where NNN and LLL are three decimal digits, staggered +tests are enabled. +Then a test will also be run if all 16 (or 20) characters of the string +\fBT/MM/DD/d/HH:NNN\fP (or \fBT/MM/DD/d/HH:NNN-LLL\fP) match the regular +expression. +This check is done for up to seven \fB:NNN\fP or \fB:NNN-LLL\fP found in +the regular expression. +The time used for the check is adjusted to the past such that tests of +the first drive are not delayed, tests of the second drive are delayed +by NNN hours, tests of the third drive are delayed by 2*NNN hours, and +so on. +.br +If LLL is also specified, delays are limited to LLL hours by calculating +each individual delay as: +.br +\*(Aq((DRIVE_INDEX * NNN) mod (LLL + 1))\*(Aq. +.Sp +Some examples follow. In reading these, keep in mind that in extended +regular expressions a dot \fB\*(Aq.\*(Aq\fP matches any single character, and +a parenthetical expression such as \fB\*(Aq(A|B|C)\*(Aq\fP denotes any one +of the three possibilities \fBA\fP, \fBB\fP, or \fBC\fP. +.Sp +To schedule a short Self-Test between 2\(en3 am every morning, use: +.br +\fB \-s S/../.././02\fP +.br +To schedule a long Self-Test between 4\(en5 am every Sunday morning, use: +.br +\fB \-s L/../../7/04\fP +.br +To enable staggered tests with delays in three hour steps, use: +.br +\fB \-s L/../../7/04:003\fP +.br +To enable staggered tests with delays 0, 3, 6, 9, 1, 4, 7, 10, 2, 5, 8, +0, ... hours, use: +.br +\fB \-s L/../../7/04:003-010\fP +.br +To enable staggered tests with delays 0, 1, 2, ..., 9, 10, 0, ... hours, +use: +.br +\fB \-s L/../../7/04:001-010\fP +.br +To schedule a long Self-Test between 10\(en11 pm on the first and +fifteenth day of each month, use: +.br +\fB \-s L/../(01|15)/./22\fP +.br +To schedule an Offline Immediate test after every midnight, 6 am, +noon, and 6 pm, plus a Short Self-Test daily at 1\(en2 am and a Long +Self-Test every Saturday at 3\(en4 am, use: +.br +\fB \-s (O/../.././(00|06|12|18)|S/../.././01|L/../../6/03)\fP +.br +To enable staggered Long Self-Tests with delays in three hour steps, +use: +.br +\fB \-s (O/../.././(00|06|12|18)|S/../.././01|L/../../6/03:003)\fP +.br +If Long Self-Tests of a large disks take longer than the system uptime, +a full disk test can be performed by several Selective Self-Tests. +To setup a full test of a 1 TB disk within 20 days (one 50 GB span +each day), run this command once: +.nf + smartctl \-t select,0\-99999999 /dev/sda +.fi +To run the next test spans on Monday\(enFriday between 12\(en13 am, run smartd +with this directive: +.br +\fB \-s n/../../[1\-5]/12\fP +.Sp +Scheduled tests are run immediately following the regularly-scheduled +device polling, if the current local date, time, and test type, match +\fBREGEXP\fP. By default the regularly-scheduled device polling +occurs every thirty minutes after starting \fBsmartd\fP. Take caution +if you use the \*(Aq\-i\*(Aq option to make this polling interval more than +sixty minutes: the poll times may fail to coincide with any of the +testing times that you have specified with \fBREGEXP\fP. In this case +the test will be run following the next device polling. +.Sp +Before running an offline or self-test, \fBsmartd\fP checks to be sure +that a self-test is not already running. If a self-test \fBis\fP +already running, then this running self test will \fBnot\fP be +interrupted to begin another test. +.Sp +\fBsmartd\fP will not attempt to run \fBany\fP type of test if another +test was already started or run in the same hour. +.Sp +To avoid performance problems during system boot, \fBsmartd\fP will +not attempt to run any scheduled tests following the very first +device polling (unless \*(Aq\-q onecheck\*(Aq is specified). +.Sp +Each time a test is run, \fBsmartd\fP will log an entry to SYSLOG. +You can use these or the \*(Aq\-q showtests\*(Aq command-line option to verify +that you constructed \fBREGEXP\fP correctly. The matching order +(\fBL\fP before \fBS\fP before \fBC\fP before \fBO\fP) ensures that +if multiple test types are all scheduled for the same hour, the +longer test type has precedence. This is usually the desired behavior. +.Sp +If the scheduled tests are used in conjunction with state persistence +(\*(Aq\-s\*(Aq option), smartd will also try to match the hours since last +shutdown (or 90 days at most). If any test would have been started +during downtime, the longest (see above) of these tests is run after +second device polling. +.Sp +If the \*(Aq\-n\*(Aq directive is used and any test would have been started +during disk standby time, the longest of these tests is run when the +disk is active again. +.Sp +Unix users: please beware that the rules for extended regular +expressions [\fBregex\fP(7)] are \fBnot\fP the same as the rules for +file-name pattern matching by the shell [\fBglob\fP(7)]. \fBsmartd\fP will +issue harmless informational warning messages if it detects characters +in \fBREGEXP\fP that appear to indicate that you have made this +mistake. +.TP +.B \-m ADD +Send a warning email to the email address \fBADD\fP if the \*(Aq\-H\*(Aq, +\*(Aq\-l error\*(Aq, \*(Aq\-l xerror\*(Aq, \*(Aq\-l selftest\*(Aq, +\*(Aq\-f\*(Aq, \*(Aq\-C\*(Aq, \*(Aq\-U\*(Aq, or \*(Aq\-W\*(Aq Directives +detect a failure or a new error, or if a SMART command to the disk fails. +This Directive only works in conjunction with these other Directives +(or with the equivalent default \*(Aq\-a\*(Aq Directive). +.Sp +To prevent your email in-box from getting filled up with warning +messages, by default only a single warning and (depending on +\*(Aq\-s\*(Aq option) daily reminder emails will be sent for each of +the enabled alert types. +See the \*(Aq\-M\*(Aq Directive below for details. +.Sp +To send email to more than one user, please use the following "comma +separated" form for the address: \fBuser1@add1,user2@add2,...,userN@addN\fP +(with no spaces). +.Sp +To test that email is being sent correctly, use the \*(Aq\-M test\*(Aq +Directive described below to send one test email message on +\fBsmartd\fP +startup. +.Sp +By default, email is sent using the system \fBmail\fP(1) command. +In order that \fBsmartd\fP find this command (normally /usr/bin/mail) the +executable must be in the path of the shell or environment from which +\fBsmartd\fP +was started. If you wish to specify an explicit path to the mail +executable (for example /usr/local/bin/mail) or a custom script to +run, please use the \*(Aq\-M exec\*(Aq Directive below. +.Sp +.\" %IF OS Windows +[Windows only] On Windows, the \*(Aq\fBBlat\fP\*(Aq mailer +(<\fBhttp://blat.sourceforge.net/\fP>) is used by default. +This mailer uses a different command line syntax, see +\*(Aq\-M exec\*(Aq below. +.Sp +If the file EXEDIR/smartd_mailer.conf.ps1 is present and \*(Aq\-M exec\*(Aq +is not specified, the script smartd_mailer.ps1 is used instead. +This script uses the Send-MailMessage cmdlet to send mail. +See EXEDIR/smartd_mailer.conf.sample.ps1 for info about the format of +the configuration file. +.Sp +.\" %ENDIF OS Windows +Note also that there is a special argument +.B <nomailer> +which can be given to the \*(Aq\-m\*(Aq Directive in conjunction with the +\*(Aq\-M exec\*(Aq Directive. +Please see below for an explanation of its effect. +.Sp +If the mailer or the shell running it produces any STDERR/STDOUT +output, then a snippet of that output will be copied to SYSLOG. The +remainder of the output is discarded. If problems are encountered in +sending mail, this should help you to understand and fix them. If +you have mail problems, we recommend running \fBsmartd\fP in debug +mode with the \*(Aq\-d\*(Aq flag, using the \*(Aq\-M test\*(Aq Directive +described below. +.\" %IF ENABLE_SMARTDPLUGINDIR +.\" %IF NOT OS Windows +.Sp +If a word of the comma separated list has the form \*(Aq@plugin\*(Aq, a custom +script /usr/local/etc/smartd_warning.d/plugin is run and the word is +removed from the list before sending mail. The string \*(Aqplugin\*(Aq may +be any valid name except \*(AqALL\*(Aq. +If \*(Aq@ALL\*(Aq is specified, all scripts in /usr/local/etc/smartd_warning.d/* +are run instead. +This is handled by the script /usr/local/etc/smartd_warning.sh +(see also \*(Aq\-M exec\*(Aq below). +Plugin scripts without execute permission are silently ignored. +If any plugin script is missing or fails with a nonzero exit status, the +warning script exits immediately without sending mail. +.\" %ENDIF NOT OS Windows +.\" %ENDIF ENABLE_SMARTDPLUGINDIR +.\" %IF OS Windows +.Sp +[Windows only] If one of the following words are used as the first address +in the comma separated list, warning messages are sent via WTSSendMessage(). +This displays message boxes on the desktops of the selected sessions. +Address \*(Aq\fBconsole\fP\*(Aq specifies the console session only, +\*(Aq\fBactive\fP\*(Aq specifies the console session and all active remote +sessions, and \*(Aq\fBconnected\fP\*(Aq specifies the console session and +all connected (active or waiting for login) remote sessions. +This is handled by the script EXEDIR/smartd_warning.cmd which runs +the tool EXEDIR/wtssendmsg.exe (see also \*(Aq\-M exec\*(Aq below). +.\" %ENDIF OS Windows +.TP +.B \-M TYPE +These Directives modify the behavior of the +\fBsmartd\fP +email warnings enabled with the \*(Aq\-m\*(Aq email Directive described above. +These \*(Aq\-M\*(Aq Directives only work in conjunction with the \*(Aq\-m\*(Aq +Directive and can not be used without it. +.Sp +Multiple \-M Directives may be given. If more than one of the +following three \-M Directives are given (example: \-M once \-M daily) +then the final one (in the example, \-M daily) is used. +.Sp +The valid arguments to the \-M Directive are (one of the following +three): +.Sp +.I once +\- send only one warning email for each type of disk problem detected. This +is the default unless state persistence (\*(Aq\-s\*(Aq option) is enabled. +.Sp +.I always +\- [NEW EXPERIMENTAL SMARTD 7.4 FEATURE] +send additional warning reminder emails, upon each check, for each type +of disk problem detected. +.Sp +.I daily +\- send additional warning reminder emails, once per day, for each type +of disk problem detected. This is the default if state persistence +(\*(Aq\-s\*(Aq option) is enabled. +.Sp +.I diminishing +\- send additional warning reminder emails, after a one-day interval, +then a two-day interval, then a four-day interval, and so on for each +type of disk problem detected. Each interval is twice as long as the +previous interval. +.br +[NEW EXPERIMENTAL SMARTD 7.4 FEATURE] +The interval length will stay at 32 days after 5 warning reminder emails. +.Sp +If a disk problem is no longer detected, the internal email counter is +reset. If the problem reappears a new warning email is sent immediately. +.Sp +In addition, one may add zero or more of the following Directives: +.Sp +.I test +\- send a single test email +immediately upon +\fBsmartd\fP +startup. This allows one to verify that email is delivered correctly. +Note that if this Directive is used, +\fBsmartd\fP +will also send the normal email warnings that were enabled with the +\*(Aq\-m\*(Aq Directive, in addition to the single test email! +.Sp +.I exec PATH +\- run the executable PATH instead of the default mail command, when +\fBsmartd\fP +needs to send email. PATH must point to an executable binary file or +script. +.\" %IF OS Windows +.Sp +[Windows only] The PATH may contain space characters. +Then it must be included in double quotes. +.\" %ENDIF OS Windows +.Sp +By setting PATH to point to a customized script, you can make +\fBsmartd\fP perform useful tricks when a disk problem is detected +(beeping the console, shutting down the machine, broadcasting warnings +to all logged-in users, etc.\&) But please be careful. \fBsmartd\fP +will \fBblock\fP until the executable PATH returns, so if your +executable hangs, then \fBsmartd\fP will also hang. +.\" %IF NOT OS Windows +Some sample scripts are included in +/usr/local/share/doc/smartmontools/examplescripts/. +.\" %ENDIF NOT OS Windows +.Sp +The exit status of the executable is recorded by \fBsmartd\fP in +SYSLOG. +The executable is not expected to write to STDOUT or STDERR. +If it does, then this is interpreted as indicating that +something is going wrong with your executable, and a fragment of this +output is logged to SYSLOG to help you to understand the problem. +Normally, if you wish to leave some record behind, the executable +should send mail or write to a file or device. +.Sp +Before running the executable, \fBsmartd\fP sets a number of +environment variables. These environment variables may be used to +control the executable's behavior. The environment variables +exported by \fBsmartd\fP are: +.RS 7 +.IP \fBSMARTD_MAILER\fP 4 +is set to the argument of \-M exec, if present or else to \*(Aqmail\*(Aq +(examples: /usr/local/bin/mail, mail). +.IP \fBSMARTD_DEVICE\fP 4 +is set to the device path (example: /dev/sda). +.IP \fBSMARTD_DEVICETYPE\fP 4 +is set to the device type specified by \*(Aq\-d\*(Aq directive or +\*(Aqauto\*(Aq if none. +.IP \fBSMARTD_DEVICESTRING\fP 4 +is set to the device description. +It starts with SMARTD_DEVICE and may be followed by an optional controller +identification (example: /dev/sda [SAT]). +The string may contain a space and is NOT quoted. +.IP \fBSMARTD_DEVICEINFO\fP 4 +is set to device identify information. It includes most of the info printed +by \fBsmartctl \-i\fP but uses a brief single line format. +This device info is also logged when \fBsmartd\fP starts up. +The string contains space characters and is NOT quoted. +.IP \fBSMARTD_FAILTYPE\fP 4 +gives the reason for the warning or message email. The possible values that +it takes and their meanings are: +.br +\fIEmailTest\fP: this is an email test message. +.br +\fIHealth\fP: the SMART health status indicates imminent failure. +.br +\fIUsage\fP: a usage Attribute has failed. +.br +\fISelfTest\fP: the number of self-test failures has increased. +.br +\fIErrorCount\fP: the number of errors in the ATA error log has increased. +.br +\fICurrentPendingSector\fP: one of more disk sectors could not be +read and are marked to be reallocated (replaced with spare sectors). +.br +\fIOfflineUncorrectableSector\fP: during off-line testing, or self-testing, +one or more disk sectors could not be read. +.br +\fITemperature\fP: Temperature reached critical limit (see \-W directive). +.br +\fIFailedHealthCheck\fP: the SMART health status command failed. +.br +\fIFailedReadSmartData\fP: the command to read SMART Attribute data failed. +.br +\fIFailedReadSmartErrorLog\fP: the command to read the SMART error log failed. +.br +\fIFailedReadSmartSelfTestLog\fP: the command to read the SMART self-test log +failed. +.br +\fIFailedOpenDevice\fP: the open() command to the device failed. +.IP \fBSMARTD_ADDRESS\fP 4 +is determined by the address argument ADD of the \*(Aq\-m\*(Aq Directive. +If ADD is \fB<nomailer>\fP, then \fBSMARTD_ADDRESS\fP is not set. +Otherwise, it is set to the comma-separated-list of email addresses +given by the argument ADD, with the commas replaced by spaces +(example:admin@example.com root). If more than one email address is +given, then this string will contain space characters and is NOT +quoted, so to use it in a shell script you may want to enclose it in +double quotes. +.\" %IF ENABLE_SMARTDPLUGINDIR +.\" %IF NOT OS Windows +.IP \fBSMARTD_ADDRESS_ORIG\fP 4 +is set to the original value of \fBSMARTD_ADDRESS\fP with \*(Aq@plugin\*(Aq +strings still present. +If there are no such strings in the \*(Aq\-m\*(Aq Directive, this variable is +NOT set. +.\" %ENDIF NOT OS Windows +.\" %ENDIF ENABLE_SMARTDPLUGINDIR +.\" %IF OS Windows +.IP \fBSMARTD_ADDRCSV\fP 4 +[Windows only] is set to a comma-separated list of the addresses from +SMARTD_ADDRESS. +.\" %ENDIF OS Windows +.IP \fBSMARTD_MESSAGE\fP 4 +is set to the one sentence summary warning email message string from +\fBsmartd\fP. +This message string contains space characters and is NOT quoted. So to +use $SMARTD_MESSAGE in a shell script you should probably enclose it in +double quotes. +.\" %IF NOT OS Windows +.IP \fBSMARTD_FULLMESSAGE\fP 4 +is set to the contents of the entire email warning message string from +\fBsmartd\fP. +This message string contains space and return characters and is NOT +quoted. +So to use $SMARTD_FULLMESSAGE in a shell script you should probably +enclose it in double quotes. +.\" %ENDIF NOT OS Windows +.\" %IF OS Windows +.IP \fBSMARTD_FULLMSGFILE\fP 4 +[Windows only] is the path to a temporary file containing the full message. +The path may contain space characters and is NOT quoted. +The file is created by the smartd_warning.cmd script and removed when +the mailer or command exits. +.\" %ENDIF OS Windows +.IP \fBSMARTD_TFIRST\fP 4 +is a text string giving the time and date at which the first problem +of this type was reported. This text string contains space characters +and no newlines, and is NOT quoted. For example: +.br +Sun Feb 9 14:58:19 2003 CST +.IP \fBSMARTD_TFIRSTEPOCH\fP 4 +is an integer, which is the unix epoch (number of seconds since Jan 1, +1970) for \fBSMARTD_TFIRST\fP. +.IP \fBSMARTD_PREVCNT\fP 4 +is an integer specifying the number of previous messages sent. +It is set to \*(Aq0\*(Aq for the first message. +.IP \fBSMARTD_NEXTDAYS\fP 4 +is an integer specifying the number of days until the next message will be sent. +It is set to empty on \*(Aq\-M once\*(Aq, set to \*(Aq0\*(Aq on +\*(Aq\-M always\*(Aq and set to \*(Aq1\*(Aq on \*(Aq\-M daily\*(Aq. +.RE +.\" The following two lines define a non-existent option. +.\" This resets the margin to the level prior to the '.RS ... .RE' block. +.TP +.B \& +If the \*(Aq\-m ADD\*(Aq Directive is given with a normal address argument, +then the executable pointed to by PATH will be run in a shell with +STDIN receiving the body of the email message, and with the same +command-line arguments: +.Vb 1 +\ \ \-s "$SMARTD_SUBJECT" $SMARTD_ADDRESS +.Ve +that would normally be provided to \*(Aqmail\*(Aq. Examples include: +.br +.B \-m user@home \-M exec /usr/bin/mail +.br +.B \-m admin@work \-M exec /usr/local/bin/mailto +.br +.B \-m root \-M exec /Example_1/shell/script/below +.Sp +.\" %IF OS Windows +[Windows only] On Windows, the syntax of the \*(Aq\fBBlat\fP\*(Aq mailer is +used (except for \*(Aq.ps1\*(Aq scripts): +.Vb 1 +\ \ \- \-q \-subject "%SMARTD_SUBJECT%" \-to %SMARTD_ADDRCSV% +.Ve +.Sp +.\" %ENDIF OS Windows +If the \*(Aq\-m ADD\*(Aq Directive is given with the special address argument +.B <nomailer> +then the executable pointed to by PATH is run in a shell with +.B no +STDIN and +.B no +command-line arguments, for example: +.Vb 1 +\ \ \-m <nomailer> \-M exec /Example_2/shell/script/below +.Ve +.Sp +.\" %IF OS Windows +[Windows only] If a PATH with extension \*(Aq.ps1\*(Aq is specified with +\*(Aq\-M exec\*(Aq, the script is run as follows with no STDIN, regardless +of \*(Aq\-m ADD\*(Aq setting: +.Vb 2 +\ \ PowerShell -NoProfile -ExecutionPolicy Bypass ^ +\ \ \ \ \ \ \ \ \ \ \ \ \ -Command ^& \*(Aq%SMARTD_MAILER%\*(Aq +.Ve +.Sp +.\" %ENDIF OS Windows +If the executable produces any STDERR/STDOUT output, then \fBsmartd\fP +assumes that something is going wrong, and a snippet of that output +will be copied to SYSLOG. The remainder of the output is then +discarded. +.Sp +Some EXAMPLES of scripts that can be used with the \*(Aq\-M exec\*(Aq +Directive are given below. +.\" %IF NOT OS Windows +Some sample scripts are also included in +/usr/local/share/doc/smartmontools/examplescripts/. +.\" %ENDIF NOT OS Windows +.Sp +The executable is run by the script +.\" %IF NOT OS Windows +/usr/local/etc/smartd_warning.sh. +.\" %ENDIF NOT OS Windows +.\" %IF OS ALL +(Windows: EXEDIR/smartd_warning.cmd) +.\" %ENDIF OS ALL +.\" %IF OS Windows +.\"! EXEDIR/smartd_warning.cmd. +.\" %ENDIF OS Windows +This script formats subject and full message based on SMARTD_MESSAGE and other +environment variables set by \fBsmartd\fP. +The environment variables +.\" %IF NOT OS Windows +SMARTD_SUBJECT and SMARTD_FULLMESSAGE +.\" %ENDIF NOT OS Windows +.\" %IF OS ALL +(Windows: SMARTD_SUBJECT, SMARTD_FULLMSGFILE and SMARTD_ADDRCSV) +.\" %ENDIF OS ALL +.\" %IF OS Windows +.\"! SMARTD_SUBJECT, SMARTD_FULLMSGFILE and SMARTD_ADDRCSV +.\" %ENDIF OS Windows +are set by the script before running the executable. +.TP +.B \-f +[ATA only] Check for \*(Aqfailure\*(Aq of any Usage Attributes. If these +Attributes are less than or equal to the threshold, it does NOT indicate +imminent disk failure. It "indicates an advisory condition where the usage +or age of the device has exceeded its intended design life period." +[Please see the \fBsmartctl \-A\fP command-line option.] +.TP +.B \-p +[ATA only] Report anytime that a Prefail Attribute has changed +its value since the last check. [Please see the +.B smartctl \-A +command-line option.] +.TP +.B \-u +[ATA only] Report anytime that a Usage Attribute has changed its value +since the last check. [Please see the +.B smartctl \-A +command-line option.] +.TP +.B \-t +[ATA only] Equivalent to turning on the two previous flags \*(Aq\-p\*(Aq +and \*(Aq\-u\*(Aq. +Tracks changes in \fIall\fP device Attributes (both Prefailure and +Usage). [Please see the \fBsmartctl\fP \-A command-line option.] +.TP +.B \-i ID +[ATA only] Ignore device Attribute number \fBID\fP when checking for failure +of Usage Attributes. \fBID\fP must be a decimal integer in the range +from 1 to 255. This Directive modifies the behavior of the \*(Aq\-f\*(Aq +Directive and has no effect without it. +.Sp +This is useful, for example, if you have a very old disk and don't +want to keep getting messages about the hours-on-lifetime Attribute +(usually Attribute 9) failing. This Directive may appear multiple +times for a single device, if you want to ignore multiple Attributes. +.TP +.B \-I ID +[ATA only] Ignore device Attribute \fBID\fP when tracking changes in the +Attribute values. \fBID\fP must be a decimal integer in the range +from 1 to 255. This Directive modifies the behavior of the \*(Aq\-p\*(Aq, +\*(Aq\-u\*(Aq, and \*(Aq\-t\*(Aq tracking Directives and has no effect +without one of them. +.Sp +This is useful, for example, if one of the device Attributes is the disk +temperature (usually Attribute 194 or 231). It's annoying to get reports +each time the temperature changes. This Directive may appear multiple +times for a single device, if you want to ignore multiple Attributes. +.TP +.B \-r ID[!] +[ATA only] When tracking, report the \fIRaw\fP value of Attribute \fBID\fP +along with its (normally reported) \fINormalized\fP value. \fBID\fP must +be a decimal integer in the range from 1 to 255. This Directive modifies +the behavior of the \*(Aq\-p\*(Aq, \*(Aq\-u\*(Aq, and \*(Aq\-t\*(Aq tracking +Directives and has no effect without one of them. +This Directive may be given multiple times. +.Sp +A common use of this Directive is to track the device Temperature +(often ID=194 or 231). +.Sp +If the optional flag \*(Aq!\*(Aq is appended, a change of the Normalized +value is considered critical. The report will be logged as LOG_CRIT +and a warning email will be sent if \*(Aq\-m\*(Aq is specified. +.TP +.B \-R ID[!] +[ATA only] When tracking, report whenever the \fIRaw\fP value of Attribute +\fBID\fP changes. (Normally \fBsmartd\fP only tracks/reports changes +of the \fINormalized\fP Attribute values.) \fBID\fP must be a decimal +integer in the range from 1 to 255. This Directive modifies the +behavior of the \*(Aq\-p\*(Aq, \*(Aq\-u\*(Aq, and \*(Aq\-t\*(Aq tracking +Directives and has no effect without one of them. +This Directive may be given multiple times. +.Sp +If this Directive is given, it automatically implies the \*(Aq\-r\*(Aq +Directive for the same Attribute, so that the Raw value of the +Attribute is reported. +.Sp +A common use of this Directive is to track the device Temperature +(often ID=194 or 231). It is also useful for understanding how +different types of system behavior affects the values of certain +Attributes. +.Sp +If the optional flag \*(Aq!\*(Aq is appended, a change of the Raw +value is considered critical. The report will be logged as +LOG_CRIT and a warning email will be sent if \*(Aq\-m\*(Aq is specified. +An example is \*(Aq\-R 5!\*(Aq to warn when new sectors are reallocated. +.TP +.B \-C ID[+] +[ATA only] Report if the current number of pending sectors is +non-zero. Here \fBID\fP is the id number of the Attribute whose raw +value is the Current Pending Sector count. The allowed range of +\fBID\fP is 0 to 255 inclusive. To turn off this reporting, use +ID\ =\ 0. If the \fB\-C ID\fP option is not given, then it defaults to +\fB\-C 197\fP (since Attribute 197 is generally used to monitor +pending sectors). If the name of this Attribute is changed by a +\*(Aq\-v 197,FORMAT,NAME\*(Aq directive, the default is changed to +\fB\-C 0\fP. +.Sp +If \*(Aq+\*(Aq is specified, a report is only printed if the number of sectors +has increased between two check cycles. Some disks do not reset this +attribute when a bad sector is reallocated. +See also \*(Aq\-v 197,increasing\*(Aq below. +.Sp +The warning email counter is reset if the number of pending sectors +dropped to 0. This typically happens when all pending sectors have +been reallocated or could be read again. +.Sp +A pending sector is a disk sector (containing 512 bytes of your data) +which the device would like to mark as "bad" and reallocate. +Typically this is because your computer tried to read that sector, and +the read failed because the data on it has been corrupted and has +inconsistent Error Checking and Correction (ECC) codes. This is +important to know, because it means that there is some unreadable data +on the disk. The problem of figuring out what file this data belongs +to is operating system and file system specific. You can typically +force the sector to reallocate by writing to it (translation: make the +device substitute a spare good sector for the bad one) but at the +price of losing the 512 bytes of data stored there. +.TP +.B \-U ID[+] +[ATA only] Report if the number of offline uncorrectable sectors is +non-zero. Here \fBID\fP is the id number of the Attribute whose raw +value is the Offline Uncorrectable Sector count. The allowed range of +\fBID\fP is 0 to 255 inclusive. To turn off this reporting, use +ID\ =\ 0. If the \fB\-U ID\fP option is not given, then it defaults to +\fB\-U 198\fP (since Attribute 198 is generally used to monitor +offline uncorrectable sectors). If the name of this Attribute is changed +by a \*(Aq\-v 198,FORMAT,NAME\*(Aq (except +\*(Aq\-v 198,FORMAT,Offline_Scan_UNC_SectCt\*(Aq), directive, the default +is changed to \fB\-U 0\fP. +.Sp +If \*(Aq+\*(Aq is specified, a report is only printed if the number of sectors +has increased since the last check cycle. Some disks do not reset this +attribute when a bad sector is reallocated. +See also \*(Aq\-v 198,increasing\*(Aq below. +.Sp +The warning email counter is reset if the number of offline uncorrectable +sectors dropped to 0. This typically happens when all offline uncorrectable +sectors have been reallocated or could be read again. +.Sp +An offline uncorrectable sector is a disk sector which was not +readable during an off-line scan or a self-test. This is important +to know, because if you have data stored in this disk sector, and you +need to read it, the read will fail. Please see the previous \*(Aq\-C\*(Aq +option for more details. +.TP +.B \-W DIFF[,INFO[,CRIT]] +Report if the current temperature had changed by at least \fBDIFF\fP +degrees since last report, or if new min or max temperature is detected. +Report or Warn if the temperature is greater or equal than one of +\fBINFO\fP or \fBCRIT\fP degrees Celsius. +If the limit \fBCRIT\fP is reached, a message with loglevel +\fB\*(AqLOG_CRIT\*(Aq\fP will be logged to syslog and a warning email +will be send if \*(Aq\-m\*(Aq is specified. If only the limit \fBINFO\fP is +reached, a message with loglevel \fB\*(AqLOG_INFO\*(Aq\fP will be logged. +.Sp +The warning email counter is reset if the temperature dropped below +\fBINFO\fP or \fBCRIT\fP-5 if \fBINFO\fP is not specified. +.Sp +If this directive is used in conjunction with state persistence +(\*(Aq\-s\*(Aq option), the min and max temperature values are preserved +across boot cycles. The minimum temperature value is not updated +during the first 30 minutes after startup. +.Sp +To disable any of the 3 reports, set the corresponding limit to 0. +Trailing zero arguments may be omitted. By default, all temperature +reports are disabled (\*(Aq\-W 0\*(Aq). +.Sp +To track temperature changes of at least 2 degrees, use: +.br +.B \-W 2 +.br +To log informal messages on temperatures of at least 40 degrees, use: +.br +.B \-W 0,40 +.br +For warning messages/mails on temperatures of at least 45 degrees, use: +.br +.B \-W 0,0,45 +.br +To combine all of the above reports, use: +.br +.B \-W 2,40,45 +.Sp +For ATA devices, smartd interprets Attribute 194 or 190 as Temperature Celsius +by default. This can be changed to Attribute 9 or 220 by the drive +database or by the \*(Aq\-v 9,temp\*(Aq or \*(Aq\-v 220,temp\*(Aq directive. +.\" %IF OS Darwin FreeBSD Linux NetBSD Windows Cygwin +.Sp +For NVMe devices, smartd checks the maximum of the Composite Temperature value +and all Temperature Sensor values reported by SMART/Health Information log. +.\" %ENDIF OS Darwin FreeBSD Linux NetBSD Windows Cygwin +.TP +.B \-F TYPE +[ATA only] Modifies the behavior of \fBsmartd\fP to compensate for some +known and understood device firmware bug. This directive may be used +multiple times. The valid arguments are: +.Sp +.I none +\- Assume that the device firmware obeys the ATA specifications. This +is the default, unless the device has presets for \*(Aq\-F\*(Aq in the +drive database. Using this directive will override any preset values. +.Sp +.I nologdir +\- Suppresses read attempts of SMART or GP Log Directory. +Support for all standard logs is assumed without an actual check. +Some Intel SSDs may freeze if log address 0 is read. +.Sp +.I samsung +\- In some Samsung disks (example: model SV4012H Firmware Version: +RM100-08) some of the two- and four-byte quantities in the SMART data +structures are byte-swapped (relative to the ATA specification). +Enabling this option tells \fBsmartd\fP to evaluate these quantities +in byte-reversed order. Some signs that your disk needs this option +are (1) no self-test log printed, even though you have run self-tests; +(2) very large numbers of ATA errors reported in the ATA error log; +(3) strange and impossible values for the ATA error log timestamps. +.Sp +.I samsung2 +\- In some Samsung disks the number of ATA errors reported is byte swapped. +Enabling this option tells \fBsmartd\fP to evaluate this quantity in +byte-reversed order. +.Sp +.I samsung3 +\- Some Samsung disks (at least SP2514N with Firmware VF100-37) report +a self-test still in progress with 0% remaining when the test was already +completed. If this directive is specified, \fBsmartd\fP will not skip the +next scheduled self-test (see Directive \*(Aq\-s\*(Aq above) in this case. +.Sp +.I xerrorlba +\- This only affects \fBsmartctl\fP. +.Sp +[Please see the \fBsmartctl \-F\fP command-line option.] +.TP +.B \-v ID,FORMAT[:BYTEORDER][,NAME] +[ATA only] Sets a vendor-specific raw value print FORMAT, an optional +BYTEORDER and an optional NAME for Attribute ID. +This directive may be used multiple times. +Please see \fBsmartctl \-v\fP command-line option for further details. +.Sp +The following arguments affect smartd warning output: +.Sp +.I 197,increasing +\- Raw Attribute number 197 (Current Pending Sector Count) is not +reset if uncorrectable sectors are reallocated. This sets \*(Aq\-C 197+\*(Aq +if no other \*(Aq\-C\*(Aq directive is specified. +.Sp +.I 198,increasing +\- Raw Attribute number 198 (Offline Uncorrectable Sector Count) is not +reset if uncorrectable sectors are reallocated. This sets \*(Aq\-U 198+\*(Aq +if no other \*(Aq\-U\*(Aq directive is specified. +.TP +.B \-P TYPE +[ATA only] Specifies whether \fBsmartd\fP should use any preset options +that are available for this drive. +The valid arguments to this Directive are: +.Sp +.I use +\- use any presets that are available for this drive. This is the default. +.Sp +.I ignore +\- do not use any presets for this drive. +.Sp +.I show +\- show the presets listed for this drive in the database. +.Sp +.I showall +\- show the presets that are available for all drives and then exit. +.Sp +[Please see the +.B smartctl \-P +command-line option.] +.TP +.B \-a +Equivalent to turning on all of the following Directives: +.B \*(Aq\-H\*(Aq +to check the SMART health status, +.B \*(Aq\-f\*(Aq +to report failures of Usage (rather than Prefail) Attributes, +.B \*(Aq\-t\*(Aq +to track changes in both Prefailure and Usage Attributes, +.B \*(Aq\-l\ error\*(Aq +to report increases in the number of ATA errors, +.B \*(Aq\-l\ selftest\*(Aq +to report increases in the number of Self-Test Log errors, +.B \*(Aq\-l\ selfteststs\*(Aq +to report changes of Self-Test execution status, +.B \*(Aq\-C 197\*(Aq +to report nonzero values of the current pending sector count, and +.B \*(Aq\-U 198\*(Aq +to report nonzero values of the offline pending sector count. +.Sp +Note that \-a is the default for ATA devices. If none of these other +Directives is given, then \-a is assumed. +.TP +.B \-c OPTION=VALUE +Allows one to override \fBsmartd\fP command line options for specific devices. +Only the following OPTION is currently supported: +.TP +.B \-c i=N, \-c interval=N +[NEW EXPERIMENTAL SMARTD 7.3 FEATURE] +Sets the interval between disk checks to N seconds, where N is a decimal +integer. +The minimum allowed value is ten. +The default is the value from the \*(Aq\-i N, \-\-interval=N\*(Aq command +line option or its default of 1800 seconds. +.TP +.B # +Comment: ignore the remainder of the line. +.TP +.B \e +Continuation character: if this is the last non-white or non-comment +character on a line, then the following line is a continuation of the current +one. +.PP +If you are not sure which Directives to use, I suggest experimenting +for a few minutes with +.B smartctl +to see what SMART functionality your disk(s) support(s). If you do +not like voluminous syslog messages, a good choice of +\fBsmartd\fP +configuration file Directives might be: +.br +\fB\-H \-l selftest \-l error \-f\fP. +.br +If you want more frequent information, use: \fB\-a\fP. +.Sp +.TP +.B EXAMPLES OF SHELL SCRIPTS FOR \*(Aq\-M exec\*(Aq +These are two examples of shell scripts that can be used with the \*(Aq\-M +exec PATH\*(Aq Directive described previously. The paths to these scripts +and similar executables is the PATH argument to the \*(Aq\-M exec PATH\*(Aq +Directive. +.Sp +Example 1: This script is for use with \*(Aq\-m ADDRESS \-M exec PATH\*(Aq. +It appends the output of +.B smartctl \-a +to the output of the smartd email warning message and sends it to ADDRESS. +.Sp +.Vb 4 +#! /bin/sh + +# Save the email message (STDIN) to a file: +cat > /root/msg + +# Append the output of smartctl \-a to the message: +/usr/local/sbin/smartctl \-a \-d $SMART_DEVICETYPE \e + $SMARTD_DEVICE >> /root/msg + +# Now email the message to the user at address ADD: +/usr/bin/mail \-s "$SMARTD_SUBJECT" $SMARTD_ADDRESS \e + < /root/msg +.Ve +.Sp +Example 2: This script is for use with \*(Aq\-m <nomailer> \-M exec +PATH\*(Aq. It warns all users about a disk problem, waits 30 seconds, and +then powers down the machine. +.Sp +.Vb 4 +#! /bin/sh + +# Warn all users of a problem +wall <<EOF +Problem detected with disk: $SMARTD_DEVICESTRING +Warning message from smartd is: $SMARTD_MESSAGE +Shutting down machine in 30 seconds... +EOF + +# Wait half a minute +sleep 30 + +# Power down the machine +/sbin/shutdown \-hf now +.Ve +.Sp +Some example scripts are distributed with the smartmontools package, +in /usr/local/share/doc/smartmontools/examplescripts/. +.Sp +Please note that these scripts typically run as root, so any files +that they read/write should not be writable by ordinary users or +reside in directories like /tmp that are writable by ordinary users +and may expose your system to symlink attacks. +.Sp +As previously described, if the scripts write to STDOUT or STDERR, +this is interpreted as indicating that there was an internal error +within the script, and a snippet of STDOUT/STDERR is logged to SYSLOG. +The remainder is flushed. +.Sp +.\" %IF NOT OS Windows +.SH FILES +.TP +.B /usr/local/etc/smartd.conf +full path of this file. +.Sp +.\" %ENDIF NOT OS Windows +.SH SEE ALSO +\fBsmartd\fP(8), \fBsmartctl\fP(8), +\fBmail\fP(1), \fBregex\fP(7). +.Sp +.SH PACKAGE VERSION +CURRENT_SVN_VERSION CURRENT_SVN_DATE CURRENT_SVN_REV +.br +$Id: smartd.conf.5.in 5521 2023-07-24 16:44:49Z chrfranke $ |