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