2
Copyright (C) 2002-10 Bruce Allen <smartmontools-support@lists.sourceforge.net>
4
$Id: smartd.8.in 3284 2011-03-04 21:33:35Z chrfranke $
6
This program is free software; you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation; either version 2, or (at your option)
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.,
13
675 Mass Ave, Cambridge, MA 02139, USA.
15
This code was originally developed as a Senior Thesis by Michael
16
Cornwell at the Concurrent Systems Laboratory (now part of the Storage
17
Systems Research Center), Jack Baskin School of Engineering,
18
University of California, Santa Cruz. http://ssrc.soe.ucsc.edu/
20
.TH SMARTD 8 CURRENT_SVN_DATE CURRENT_SVN_VERSION CURRENT_SVN_DATE
22
\fBsmartd\fP \- SMART Disk Monitoring Daemon
28
.B /usr/local/sbin/smartd
31
CURRENT_SVN_VERSION CURRENT_SVN_DATE CURRENT_SVN_REV
34
\fBsmartd\fP is a daemon that monitors the Self-Monitoring, Analysis
35
and Reporting Technology (SMART) system built into many ATA-3 and
36
later ATA, IDE and SCSI-3 hard drives. The purpose of SMART is to
37
monitor the reliability of the hard drive and predict drive failures,
38
and to carry out different types of drive self-tests. This version of
39
\fBsmartd\fP is compatible with ATA/ATAPI-7 and earlier standards (see
40
\fBREFERENCES\fP below).
42
\fBsmartd\fP will attempt to enable SMART monitoring on ATA devices
43
(equivalent to \fBsmartctl -s on\fP) and polls these and SCSI devices
44
every 30 minutes (configurable), logging SMART errors and changes of
45
SMART Attributes via the SYSLOG interface. The default location for
46
these SYSLOG notifications and warnings is system-dependent
47
(typically \fB/var/log/messages\fP or \fB/var/log/syslog\fP).
48
To change this default location, please see the \fB\'-l\'\fP
49
command-line option described below.
51
In addition to logging to a file, \fBsmartd\fP can also be configured
52
to send email warnings if problems are detected. Depending upon the
53
type of problem, you may want to run self\-tests on the disk, back up
54
the disk, replace the disk, or use a manufacturer\'s utility to force
55
reallocation of bad or unreadable disk sectors. If disk problems are
56
detected, please see the \fBsmartctl\fP manual page and the
57
\fBsmartmontools\fP web page/FAQ for further guidance.
59
If you send a \fBUSR1\fP signal to \fBsmartd\fP it will immediately
60
check the status of the disks, and then return to polling the disks
61
every 30 minutes. See the \fB\'\-i\'\fP option below for additional
64
\fBsmartd\fP can be configured at start-up using the configuration
65
file \fB/usr/local/etc/smartd.conf\fP (Windows: \fBEXEDIR/smartd.conf\fP).
66
If the configuration file is subsequently modified, \fBsmartd\fP
67
can be told to re-read the configuration file by sending it a
68
\fBHUP\fP signal, for example with the command:
70
\fBkillall -HUP smartd\fP.
72
(Windows: See NOTES below.)
74
On startup, if \fBsmartd\fP finds a syntax error in the configuration
75
file, it will print an error message and then exit. However if
76
\fBsmartd\fP is already running, then is told with a \fBHUP\fP signal
77
to re-read the configuration file, and then find a syntax error in
78
this file, it will print an error message and then continue, ignoring
79
the contents of the (faulty) configuration file, as if the \fBHUP\fP
80
signal had never been received.
82
When \fBsmartd\fP is running in debug mode, the \fBINT\fP signal
83
(normally generated from a shell with CONTROL\-C) is treated in the
84
same way as a \fBHUP\fP signal: it makes \fBsmartd\fP reload its
85
configuration file. To exit \fBsmartd\fP use CONTROL-\e
86
(Cygwin: 2x CONTROL\-C, Windows: CONTROL\-Break).
88
On startup, in the absence of the configuration file
89
\fB/usr/local/etc/smartd.conf\fP, the \fBsmartd\fP daemon first scans for all
90
devices that support SMART. The scanning is done as follows:
92
Examine all entries \fB"/dev/hd[a-t]"\fP for IDE/ATA
93
devices, and \fB"/dev/sd[a-z]"\fP, \fB"/dev/sd[a-c][a-z]"\fP
94
for SCSI or SATA devices.
96
Authoritative list of disk devices is obtained from SCSI (CAM) and ATA subsystems.
97
.IP \fBNETBSD/OPENBSD:\fP 9
98
Authoritative list of disk devices is obtained from sysctl
101
Examine all entries \fB"/dev/rdsk/c?t?d?s?"\fP for IDE/ATA and SCSI disk
102
devices, and entries \fB"/dev/rmt/*"\fP for SCSI tape devices.
104
The IOService plane is scanned for ATA block storage devices.
105
.IP \fBWINDOWS\ 9x/ME\fP: 9
106
Examine all entries \fB"/dev/hd[a-d]"\fP (bitmask
107
from "\\\\.\\SMARTVSD") for IDE/ATA devices.
108
Examine all entries \fB"/dev/scsi[0\-9][0\-f]"\fP for SCSI devices
109
on ASPI adapter 0\-9, ID 0\-15.
110
.IP \fBWINDOWS\ NT4/2000/XP/2003/Vista/Win7/2008\fP: 9
111
Examine all entries \fB"/dev/sd[a-j]"\fP ("\\\\.\\PhysicalDrive[0-9]")
112
for IDE/(S)ATA and SCSI disk devices
114
If a 3ware 9000 controller is installed, examine all entries
115
\fB"/dev/sdX,N"\fP for the first logical drive (\'unit\'
116
\fB"/dev/sdX"\fP) and all physical disks (\'ports\' \fB",N"\fP)
117
detected behind this controller. Same for a second controller if present.
119
[NEW EXPERIMENTAL SMARTD FEATURE] If directive \'\-d csmi\' is specified,
120
examine all entries \fB"/dev/csmi[0\-9],N"\fP for drives behind Intel
123
See "WINDOWS NT4/2000/XP/2003/Vista/Win7/2008" above.
124
.IP \fBOS/2,eComStation\fP: 9
125
Use the form \fB"/dev/hd[a\-z]"\fP for IDE/ATA devices.
127
\fBsmartd\fP then monitors
128
for \fIall\fP possible SMART errors (corresponding to the \fB\'\-a\'\fP
129
Directive in the configuration file; see \fBCONFIGURATION FILE\fP
136
.B \-A PREFIX, \-\-attributelog=PREFIX
137
[ATA only] Writes \fBsmartd\fP attribute information (normalized and raw
138
attribute values) to files \'PREFIX\'\'MODEL\-SERIAL.ata.csv\'. At each
139
check cycle attributes are logged as a line of semicolon separated triplets
140
of the form "attribute-ID;attribute-norm-value;attribute-raw-value;".
141
Each line is led by a date string of the form "yyyy-mm-dd HH:MM:SS" (in UTC).
143
.\" BEGIN ENABLE_ATTRIBUTELOG
144
If this option is not specified, attribute information is written to files
145
\'/usr/local/var/lib/smartmontools/attrlog.MODEL\-SERIAL.ata.csv\'.
146
To disable attribute log files, specify this option with an empty string
148
.\" END ENABLE_ATTRIBUTELOG
149
MODEL and SERIAL are build from drive identify information, invalid
150
characters are replaced by underline.
152
If the PREFIX has the form \'/path/dir/\' (e.g. \'/var/lib/smartd/\'), then
153
files \'MODEL\-SERIAL.ata.csv\' are created in directory \'/path/dir\'.
154
If the PREFIX has the form \'/path/name\' (e.g. \'/var/lib/misc/attrlog\-\'),
155
then files 'nameMODEL\-SERIAL.ata.csv' are created in directory '/path/'.
156
The path must be absolute, except if debug mode is enabled.
158
.B \-B [+]FILE, \-\-drivedb=[+]FILE
159
[ATA only] Read the drive database from FILE. The new database replaces
160
the built in database by default. If \'+\' is specified, then the new entries
161
prepend the built in entries.
162
Please see the \fBsmartctl\fP(8) man page for further details.
164
.B \-c FILE, \-\-configfile=FILE
165
Read \fBsmartd\fP configuration Directives from FILE, instead of from
166
the default location \fB/usr/local/etc/smartd.conf\fP (Windows: \fBEXEDIR/smartd.conf\fP).
167
If FILE does \fBnot\fP exist, then \fBsmartd\fP will print an error
168
message and exit with nonzero status. Thus, \'\-c /usr/local/etc/smartd.conf\'
169
can be used to verify the existence of the default configuration file.
171
By using \'\-\' for FILE, the configuration is read from standard
172
input. This is useful for commands like:
174
.B echo /dev/hdb \-m user@home \-M test | smartd \-c \- \-q onecheck
176
to perform quick and simple checks without a configuration file.
177
.\" BEGIN ENABLE_CAPABILITIES
179
.B \-C, \-\-capabilities
180
Use \fBcapabilities(7)\fP (EXPERIMENTAL).
182
Warning: Mail notification does not work when used.
183
.\" END ENABLE_CAPABILITIES
186
Runs \fBsmartd\fP in "debug" mode. In this mode, it displays status
187
information to STDOUT rather than logging it to SYSLOG and does not
188
\fBfork(2)\fP into the background and detach from the controlling
189
terminal. In this mode, \fBsmartd\fP also prints more verbose
190
information about what it is doing than when operating in "daemon"
191
mode. In this mode, the \fBQUIT\fP signal (normally generated from a
192
terminal with CONTROL\-C) makes \fBsmartd\fP reload its configuration
193
file. Please use CONTROL-\e to exit
194
(Cygwin: 2x CONTROL\-C, Windows: CONTROL\-Break).
196
Windows only: The "debug" mode can be toggled by the command
197
\fBsmartd sigusr2\fP. A new console for debug output is opened when
198
debug mode is enabled.
200
.B \-D, \-\-showdirectives
201
Prints a list (to STDOUT) of all the possible Directives which may
202
appear in the configuration file /usr/local/etc/smartd.conf, and then exits.
203
These Directives are also described later in this man page. They may
204
appear in the configuration file following the device name.
206
.B \-h, \-\-help, \-\-usage
207
Prints usage message to STDOUT and exits.
209
.B \-i N, \-\-interval=N
210
Sets the interval between disk checks to \fIN\fP seconds, where
211
\fIN\fP is a decimal integer. The minimum allowed value is ten and
212
the maximum is the largest positive integer that can be represented on
213
your system (often 2^31-1). The default is 1800 seconds.
215
Note that the superuser can make \fBsmartd\fP check the status of the
216
disks at any time by sending it the \fBSIGUSR1\fP signal, for example
219
.B kill -SIGUSR1 <pid>
221
where \fB<pid>\fP is the process id number of \fBsmartd\fP. One may
224
.B killall -USR1 smartd
226
for the same purpose.
228
(Windows: See NOTES below.)
230
.B \-l FACILITY, \-\-logfacility=FACILITY
231
Uses syslog facility FACILITY to log the messages from \fBsmartd\fP.
232
Here FACILITY is one of \fIlocal0\fP, \fIlocal1\fP, ..., \fIlocal7\fP,
233
or \fIdaemon\fP [default]. If this command-line option is not used,
234
then by default messages from \fBsmartd\fP are logged to the facility
237
If you would like to have \fBsmartd\fP messages logged somewhere other
238
than the default location, this can typically be accomplished with
239
(for example) the following steps:
242
Modify the script that starts \fBsmartd\fP to include the \fBsmartd\fP
243
command-line argument \'\-l local3\'. This tells \fBsmartd\fP to log its
244
messages to facility \fBlocal3\fP.
246
Modify the \fBsyslogd\fP configuration file (typically
247
\fB/etc/syslog.conf\fP) by adding a line of the form:
249
\fBlocal3.* /var/log/smartd.log\fP
251
This tells \fBsyslogd\fP to log all the messages from facility \fBlocal3\fP to
252
the designated file: /var/log/smartd.log.
254
Tell \fBsyslogd\fP to re-read its configuration file, typically by
255
sending the \fBsyslogd\fP process a \fBSIGHUP\fP hang-up signal.
257
Start (or restart) the \fBsmartd\fP daemon.
259
.\" The following two lines are a workaround for a man2html bug. Please leave them.
260
.\" They define a non-existent option; useful because man2html can't correctly reset the margins.
263
For more detailed information, please refer to the man pages for
264
\fBsyslog.conf\fP, \fBsyslogd\fP, and \fBsyslog\fP. You may also want
265
to modify the log rotation configuration files; see the man pages for
266
\fBlogrotate\fP and examine your system\'s /etc/logrotate.conf file.
268
Cygwin: Support for \fBsyslogd\fP as described above is available starting with Cygwin 1.5.15.
269
On older releases or if no local \fBsyslogd\fP is running, the \'\-l\' option has no effect.
270
In this case, all \fBsyslog\fP messages are written to Windows event log
271
or to file \fBC:/CYGWIN_SYSLOG.TXT\fP if the event log is not available.
273
Windows: Some \fBsyslog\fP functionality is implemented
274
internally in \fBsmartd\fP as follows: If no \'\-l\' option
275
(or \'\-l daemon\') is specified, messages are written to Windows
276
event log or to file \fB./smartd.log\fP if event log is not available
277
(Win9x/ME or access denied). By specifying other values of FACILITY,
278
log output is redirected as follows:
279
\'\-l local0\' to file \fB./smartd.log\fP,
280
\'\-l local1\' to standard output (redirect with \'>\' to any file),
281
\'\-l local2\' to standard error,
282
\'\-l local[3-7]\': to file \fB./smartd[1-5].log\fP.
284
When using the event log, the enclosed utility \fBsyslogevt.exe\fP
285
should be registered as an event message file to avoid error
286
messages from the event viewer. Use \'\fBsyslogevt -r smartd\fP\'
287
to register, \'\fBsyslogevt -u smartd\fP\' to unregister and
288
\'\fBsyslogevt\fP\' for more help.
291
Do not fork into background; this is useful when executed from modern
292
init methods like initng, minit or supervise.
294
On Cygwin, this allows running \fBsmartd\fP as service via cygrunsrv,
297
On Windows, this option is not available, use \'\-\-service\' instead.
299
.B \-p NAME, \-\-pidfile=NAME
300
Writes pidfile \fINAME\fP containing the \fBsmartd\fP Process ID
301
number (PID). To avoid symlink attacks make sure the directory to
302
which pidfile is written is only writable for root. Without this
303
option, or if the \-\-debug option is given, no PID file is written on
304
startup. If \fBsmartd\fP is killed with a maskable signal then the
307
.B \-q WHEN, \-\-quit=WHEN
308
Specifies when, if ever, \fBsmartd\fP should exit. The valid
309
arguments are to this option are:
312
\- Exit if there are no devices to monitor, or if any errors are found
313
at startup in the configuration file. This is the default.
316
\- Exit if there are no devices to monitor, or if any errors are found
317
in the configuration file /usr/local/etc/smartd.conf at startup or whenever it
321
\- Exit if there are no devices to monitor at startup. But continue
322
to run if no devices are found whenever the configuration file is
326
\- Only exit if a fatal error occurs (no remaining system memory,
327
invalid command line arguments). In this mode, even if there are no
328
devices to monitor, or if the configuration file
329
\fB/usr/local/etc/smartd.conf\fP has errors, \fBsmartd\fP will continue to run,
330
waiting to load a configuration file listing valid devices.
333
\- Start \fBsmartd\fP in debug mode, then register devices, then check
334
device\'s SMART status once, and then exit with zero exit status if all
335
of these steps worked correctly.
337
This last option is intended for \'distribution-writers\' who want to
338
create automated scripts to determine whether or not to automatically
339
start up \fBsmartd\fP after installing smartmontools. After starting
340
\fBsmartd\fP with this command-line option, the distribution\'s install
341
scripts should wait a reasonable length of time (say ten seconds). If
342
\fBsmartd\fP has not exited with zero status by that time, the script
343
should send \fBsmartd\fP a SIGTERM or SIGKILL and assume that
344
\fBsmartd\fP will not operate correctly on the host. Conversely, if
345
\fBsmartd\fP exits with zero status, then it is safe to run
346
\fBsmartd\fP in normal daemon mode. If \fBsmartd\fP is unable to
347
monitor any devices or encounters other problems then it will return
348
with non-zero exit status.
351
\- Start \fBsmartd\fP in debug mode, then register devices, then write
352
a list of future scheduled self tests to stdout, and then exit with zero
353
exit status if all of these steps worked correctly.
354
Device's SMART status is not checked.
356
This option is intended to test whether the '-s REGEX' directives in
357
smartd.conf will have the desired effect. The output lists the next test
358
schedules, limited to 5 tests per type and device. This is followed by a
359
summary of all tests of each device within the next 90 days.
361
.B \-r TYPE, \-\-report=TYPE
362
Intended primarily to help
364
developers understand the behavior of
366
on non-conforming or poorly-conforming hardware. This option reports
369
transactions with the device. The option can be used multiple times.
370
When used just once, it shows a record of the ioctl() transactions
371
with the device. When used more than once, the detail of these ioctl()
372
transactions are reported in greater detail. The valid arguments to
376
\- report all ioctl() transactions.
379
\- report only ioctl() transactions with ATA devices.
382
\- report only ioctl() transactions with SCSI devices.
384
Any argument may include a positive integer to specify the level of
385
detail that should be reported. The argument should be followed by a
386
comma then the integer with no spaces. For example, \fIataioctl,2\fP
387
The default level is 1, so \'\-r ataioctl,1\' and \'\-r ataioctl\' are
390
.B \-s PREFIX, \-\-savestates=PREFIX
391
[ATA only] Reads/writes \fBsmartd\fP state information from/to files
392
\'PREFIX\'\'MODEL\-SERIAL.ata.state\'. This preserves SMART attributes, drive
393
min and max temperatures (\-W directive), info about last sent warning email
394
(\-m directive), and the time of next check of the self-test REGEXP
395
(\-s directive) across boot cycles.
397
.\" BEGIN ENABLE_SAVESTATES
398
If this option is not specified, state information is maintained in files
399
\'/usr/local/var/lib/smartmontools/smartd.MODEL\-SERIAL.ata.state\'.
400
To disable state files, specify this option with an empty string
402
.\" END ENABLE_SAVESTATES
403
MODEL and SERIAL are build from drive identify information, invalid
404
characters are replaced by underline.
406
If the PREFIX has the form \'/path/dir/\' (e.g. \'/var/lib/smartd/\'), then
407
files \'MODEL\-SERIAL.ata.state\' are created in directory \'/path/dir\'.
408
If the PREFIX has the form \'/path/name\' (e.g. \'/var/lib/misc/smartd\-\'),
409
then files 'nameMODEL\-SERIAL.ata.state' are created in directory '/path/'.
410
The path must be absolute, except if debug mode is enabled.
412
The state information files are read on smartd startup. The files are
413
always (re)written after reading the configuration file, before rereading
414
the configuration file (SIGHUP), before smartd shutdown, and after a check
415
forced by SIGUSR1. After a normal check cycle, a file is only rewritten if
416
an important change (which usually results in a SYSLOG output) occurred.
419
Cygwin and Windows only: Enables \fBsmartd\fP to run as a Windows service.
421
On Cygwin, this option is kept for backward compatibility only.
422
It has the same effect as \'\-n, \-\-no\-fork\', see above.
424
On Windows, this option enables the buildin service support.
425
The option must be specified in the service command line as the first
426
argument. It should not be used from console.
427
See NOTES below for details.
429
.B \-V, \-\-version, \-\-license, \-\-copyright
430
Prints version, copyright, license, home page and SVN revision
431
information for your copy of \fBsmartd\fP to STDOUT and then exits.
432
Please include this information if you are reporting bugs or problems.
439
Runs the daemon in forked mode. This is the normal way to run
441
Entries are logged to SYSLOG.
446
Run in foreground (debug) mode, checking the disk status
452
Registers devices, and checks the status of the devices exactly
453
once. The exit status (the bash
455
variable) will be zero if all went well, and nonzero if no devices
456
were detected or some other problem was encountered.
459
Note that \fBsmartmontools\fP provides a start-up script in
460
\fB/usr/local/etc/rc.d/init.d/smartd\fP which is responsible for starting and
461
stopping the daemon via the normal init interface. Using this script,
462
you can start \fBsmartd\fP by giving the command:
464
.B /usr/local/etc/rc.d/init.d/smartd start
466
and stop it by using the command:
468
.B /usr/local/etc/rc.d/init.d/smartd stop
471
.\" DO NOT MODIFY THIS OR THE FOLLOWING TWO LINES. THIS MATERIAL
472
.\" IS AUTOMATICALLY INCLUDED IN THE FILE smartd.conf.5
475
.SH CONFIGURATION FILE /usr/local/etc/smartd.conf
476
In the absence of a configuration file, under Linux
478
will try to open the 20 ATA devices
480
and the 26 SCSI devices
484
will try to open all existing ATA devices (with entries in /dev)
486
and all existing SCSI devices (using CAM subsystem).
487
Under NetBSD/OpenBSD,
489
will try to open all existing ATA devices (with entries in /dev)
491
and all existing SCSI devices
493
Under Solaris \fBsmartd\fP will try to open all entries \fB"/dev/rdsk/c?t?d?s?"\fP for IDE/ATA and SCSI disk
494
devices, and entries \fB"/dev/rmt/*"\fP for SCSI tape devices.
495
Under Windows \fBsmartd\fP will try to open all entries \fB"/dev/hd[a-j]"\fP ("\\\\.\\PhysicalDrive[0-9]")
496
for IDE/ATA devices on WinNT4/2000/XP, \fB"/dev/hd[a-d]"\fP
497
(bitmask from "\\\\.\\SMARTVSD") for IDE/ATA devices on Win95/98/98SE/ME,
498
and \fB"/dev/scsi[0-9][0-7]"\fP (ASPI adapter 0-9, ID 0-7) for SCSI
499
devices on all versions of Windows.
500
Under Darwin, \fBsmartd\fP will open any ATA block storage device.
502
This can be annoying if you have an ATA or SCSI device that hangs or
503
misbehaves when receiving SMART commands. Even if this causes no
504
problems, you may be annoyed by the string of error log messages about
505
block-major devices that can\'t be found, and SCSI devices that can\'t
508
One can avoid this problem, and gain more control over the types of
511
by using the configuration file
512
.B /usr/local/etc/smartd.conf.
513
This file contains a list of devices to monitor, with one device per
514
line. An example file is included with the
516
distribution. You will find this sample configuration file in
517
\fB/usr/local/share/doc/smartmontools/\fP. For security, the configuration file
518
should not be writable by anyone but root. The syntax of the file is as
521
There should be one device listed per line, although you may have
522
lines that are entirely comments or white space.
524
Any text following a hash sign \'#\' and up to the end of the line is
525
taken to be a comment, and ignored.
527
Lines may be continued by using a backslash \'\e\' as the last
528
non-whitespace or non-comment item on a line.
530
Note: a line whose first character is a hash sign \'#\' is treated as
531
a white-space blank line, \fBnot\fP as a non-existent line, and will
532
\fBend\fP a continuation line.
535
Here is an example configuration file. It\'s for illustrative purposes
536
only; please don\'t copy it onto your system without reading to the end
542
.B ################################################
543
.B # This is an example smartd startup config file
544
.B # /usr/local/etc/smartd.conf for monitoring three
545
.B # ATA disks, three SCSI disks, six ATA disks
546
.B # behind two 3ware controllers, two disks on a cciss
547
.B # controller, three SATA disks directly connected
548
.B # to the HighPoint Rocket-RAID controller,
549
.B # two SATA disks connected to the HighPoint
550
.B # RocketRAID controller via a pmport
551
.B # device, four SATA disks connected to an Areca
552
.B # RAID controller, and one SATA disk.
555
.B # First ATA disk on two different interfaces. On
556
.B # the second disk, start a long self-test every
557
.B # Sunday between 3 and 4 am.
559
.B \ \ /dev/hda -a -m admin@example.com,root@localhost
560
.B \ \ /dev/hdc -a -I 194 -I 5 -i 12 -s L/../../7/03
563
.B # SCSI disks. Send a TEST warning email to admin on
567
.B \ \ /dev/sdb -m admin@example.com -M test
570
.B # Strange device. It\'s SCSI. Start a scheduled
571
.B # long self test between 5 and 6 am Monday/Thursday
572
.B \ \ /dev/weird -d scsi -s L/../../(1|4)/05
575
.B # An ATA disk may appear as a SCSI device to the
576
.B # OS. If a SCSI to ATA Translation (SAT) layer
577
.B # is between the OS and the device then this can be
578
.B # flagged with the '-d sat' option. This situation
579
.B # may become common with SATA disks in SAS and FC
581
.B \ \ /dev/sda -a -d sat
584
.B # Three disks connected to a MegaRAID controller
585
.B # Start short self-tests daily between 1-2, 2-3, and
587
.B \ \ /dev/sda -d megaraid,0 -a -s S/../.././01
588
.B \ \ /dev/sda -d megaraid,1 -a -s S/../.././02
589
.B \ \ /dev/sda -d megaraid,2 -a -s S/../.././03
593
.B # Four ATA disks on a 3ware 6/7/8000 controller.
594
.B # Start short self-tests daily between midnight and 1am,
595
.B # 1-2, 2-3, and 3-4 am. Starting with the Linux 2.6
596
.B # kernel series, /dev/sdX is deprecated in favor of
597
.B # /dev/tweN. For example replace /dev/sdc by /dev/twe0
598
.B # and /dev/sdd by /dev/twe1.
599
.B \ \ /dev/sdc -d 3ware,0 -a -s S/../.././00
600
.B \ \ /dev/sdc -d 3ware,1 -a -s S/../.././01
601
.B \ \ /dev/sdd -d 3ware,2 -a -s S/../.././02
602
.B \ \ /dev/sdd -d 3ware,3 -a -s S/../.././03
605
.B # Two ATA disks on a 3ware 9000 controller.
606
.B # Start long self-tests Sundays between midnight and
608
.B \ \ /dev/twa0 -d 3ware,0 -a -s L/../../7/00
609
.B \ \ /dev/twa0 -d 3ware,1 -a -s L/../../7/02
612
.B # Two SATA (not SAS) disks on a 3ware 9750 controller.
613
.B # Start long self-tests Sundays between midnight and
615
.B \ \ /dev/twl0 -d 3ware,0 -a -s L/../../7/00
616
.B \ \ /dev/twl0 -d 3ware,1 -a -s L/../../7/02
619
.B # Monitor 2 disks connected to the first HP SmartArray controller which
620
.B # uses the cciss driver. Start long tests on Sunday nights and short
621
.B # self-tests every night and send errors to root
622
.B \ \ /dev/cciss/c0d0 -d cciss,0 -a -s (L/../../7/02|S/../.././02) -m root
623
.B \ \ /dev/cciss/c0d0 -d cciss,1 -a -s (L/../../7/03|S/../.././03) -m root
626
.B # Three SATA disks on a HighPoint RocketRAID controller.
627
.B # Start short self-tests daily between 1-2, 2-3, and
630
.B \ \ /dev/sde -d hpt,1/1 -a -s S/../.././01
631
.B \ \ /dev/sde -d hpt,1/2 -a -s S/../.././02
632
.B \ \ /dev/sde -d hpt,1/3 -a -s S/../.././03
633
.B # or under FreeBSD
634
.B # /dev/hptrr -d hpt,1/1 -a -s S/../.././01
635
.B # /dev/hptrr -d hpt,1/2 -a -s S/../.././02
636
.B # /dev/hptrr -d hpt,1/3 -a -s S/../.././03
639
.B # Two SATA disks connected to a HighPoint RocketRAID
640
.B # via a pmport device. Start long self-tests Sundays
641
.B # between midnight and 1am and 2-3 am.
643
.B \ \ /dev/sde -d hpt,1/4/1 -a -s L/../../7/00
644
.B \ \ /dev/sde -d hpt,1/4/2 -a -s L/../../7/02
645
.B # or under FreeBSD
646
.B # /dev/hptrr -d hpt,1/4/1 -a -s L/../../7/00
647
.B # /dev/hptrr -d hpt,1/4/2 -a -s L/../../7/02
650
.B # Three SATA disks connected to an Areca
651
.B # RAID controller. Start long self-tests Sundays
652
.B # between midnight and 3 am.
653
.B \ \ /dev/sg2 -d areca,1 -a -s L/../../7/00
654
.B \ \ /dev/sg2 -d areca,2 -a -s L/../../7/01
655
.B \ \ /dev/sg2 -d areca,3 -a -s L/../../7/02
658
.B # The following line enables monitoring of the
659
.B # ATA Error Log and the Self-Test Error Log.
660
.B # It also tracks changes in both Prefailure
661
.B # and Usage Attributes, apart from Attributes
662
.B # 9, 194, and 231, and shows continued lines:
664
.B \ \ /dev/hdd\ -l\ error\ \e
665
.B \ \ \ \ \ \ \ \ \ \ \ -l\ selftest\ \e
666
.B \ \ \ \ \ \ \ \ \ \ \ -t\ \e\ \ \ \ \ \ # Attributes not tracked:
667
.B \ \ \ \ \ \ \ \ \ \ \ -I\ 194\ \e\ \ # temperature
668
.B \ \ \ \ \ \ \ \ \ \ \ -I\ 231\ \e\ \ # also temperature
669
.B \ \ \ \ \ \ \ \ \ \ \ -I 9\ \ \ \ \ \ # power-on hours
671
.B ################################################
675
.SH CONFIGURATION FILE DIRECTIVES
678
If a non-comment entry in the configuration file is the text string
680
in capital letters, then
682
will ignore any remaining lines in the configuration file, and will
685
may optionally be followed by Directives that will apply to all
686
devices that are found in the scan. Please see below for additional
690
The following are the Directives that may appear following the device
694
.B /usr/local/etc/smartd.conf
695
configuration file. Note that
696
.B these are NOT command-line options for
698
The Directives below may appear in any order, following the device
701
.B For an ATA device,
702
if no Directives appear, then the device will be monitored
703
as if the \'\-a\' Directive (monitor all SMART properties) had been given.
705
.B If a SCSI disk is listed,
706
it will be monitored at the maximum implemented level: roughly
707
equivalent to using the \'\-H \-l selftest\' options for an ATA disk.
708
So with the exception of \'\-d\', \'\-m\', \'\-l selftest\', \'\-s\', and
709
\'\-M\', the Directives below are ignored for SCSI disks. For SCSI
710
disks, the \'\-m\' Directive sends a warning email if the SMART status
711
indicates a disk failure or problem, if the SCSI inquiry about disk
712
status fails, or if new errors appear in the self-test log.
714
.B If a 3ware controller is used
715
then the corresponding SCSI (/dev/sd?) or character device (/dev/twe?,
716
/dev/twa? or /dev/twl?) must be listed, along with the \'\-d 3ware,N\'
717
Directive (see below). The individual ATA disks hosted by the 3ware
718
controller appear to \fBsmartd\fP as normal ATA devices. Hence all
719
the ATA directives can be used for these disks (but see note below).
721
.B If an Areca controller is used
722
then the corresponding SCSI generic device (/dev/sg?) must be listed,
723
along with the \'\-d areca,N\' Directive (see below). The individual
724
SATA disks hosted by the Areca controller appear to \fBsmartd\fP as
725
normal ATA devices. Hence all the ATA directives can be used for
726
these disks. Areca firmware version 1.46 or later which supports
727
smartmontools must be used; Please see the \fBsmartctl\fP(8) man page
731
Specifies the type of the device.
732
The valid arguments to this directive are:
735
- attempt to guess the device type from the device name or from
736
controller type info provided by the operating system or from
737
a matching USB ID entry in the drive database.
741
\- the device type is ATA. This prevents
743
from issuing SCSI commands to an ATA device.
746
\- the device type is SCSI. This prevents
748
from issuing ATA commands to a SCSI device.
751
\- the device type is SCSI to ATA Translation (SAT).
752
This is for ATA disks that have a SCSI to ATA Translation (SAT) Layer
753
(SATL) between the disk and the operating system.
754
SAT defines two ATA PASS THROUGH SCSI commands, one 12 bytes long and
755
the other 16 bytes long. The default is the 16 byte variant which can be
756
overridden with either \'\-d sat,12\' or \'\-d sat,16\'.
759
\- this device type is for ATA disks that are behind a Cypress USB to PATA
760
bridge. This will use the ATACB proprietary scsi pass through command.
761
The default SCSI operation code is 0x24, but although it can be overridden
762
with \'\-d usbcypress,0xN\', where N is the scsi operation code,
763
you're running the risk of damage to the device or filesystems on it.
766
- this device type is for SATA disks that are behind a JMicron USB to
767
PATA/SATA bridge. The 48-bit ATA commands (required e.g. for \'\-l xerror\',
768
see below) do not work with all of these bridges and are therefore disabled by
769
default. These commands can be enabled by \'\-d usbjmicron,x\'.
770
If two disks are connected to a bridge with two ports, an error message is printed
771
if no PORT is specified.
772
The port can be specified by \'\-d usbjmicron[,x],PORT\' where PORT is 0
773
(master) or 1 (slave). This is not necessary if the device uses a port
774
multiplier to connect multiple disks to one port. The disks appear under
775
separate /dev/ice names then.
776
CAUTION: Specifying \',x\' for a device which does not support it results
777
in I/O errors and may disconnect the drive. The same applies if the specified
778
PORT does not exist or is not connected to a disk.
781
\- this device type is for SATA disks that are behind a SunplusIT USB to SATA
785
\- [Linux only] interact with SATA disks behind Marvell chip-set
786
controllers (using the Marvell rather than libata driver).
789
\- [Linux only] the device consists of one or more SCSI/SAS disks connected
790
to a MegaRAID controller. The non-negative integer N (in the range of 0 to
791
127 inclusive) denotes which disk on the controller is monitored.
792
This interface will also work for Dell PERC controllers.
793
In log files and email messages this disk will be identified as
794
megaraid_disk_XXX with XXX in the range from 000 to 127 inclusive.
795
Please see the \fBsmartctl\fP(8) man page for further details.
798
\- [FreeBSD and Linux only] the device consists of one or more ATA disks
799
connected to a 3ware RAID controller. The non-negative integer N
800
(in the range from 0 to 127 inclusive) denotes which disk on the controller
802
In log files and email messages this disk will be identified as 3ware_disk_XXX
803
with XXX in the range from 000 to 127 inclusive.
805
Note that while you may use \fBany\fP of the 3ware SCSI logical devices /dev/tw*
806
to address \fBany\fP of the physical disks (3ware ports), error and log
807
messages will make the most sense if you always list the 3ware SCSI
808
logical device corresponding to the particular physical disks.
809
Please see the \fBsmartctl\fP(8) man page for further details.
812
\- [Linux only] the device consists of one or more SATA disks connected to an
813
Areca SATA RAID controller. The positive integer N (in the range from 1 to
814
24 inclusive) denotes which disk on the controller is monitored.
815
In log files and email messages this disk will be identifed as
816
areca_disk_XX with XX in the range from 01 to 24 inclusive.
817
Please see the \fBsmartctl\fP(8) man page for further details.
820
\- [FreeBSD and Linux only] the device consists of one or more SCSI/SAS disks
821
connected to a cciss RAID controller. The non-negative integer N (in the range
822
from 0 to 15 inclusive) denotes which disk on the controller is monitored.
823
In log files and email messages this disk will be identified as cciss_disk_XX
824
with XX in the range from 00 to 15 inclusive.
825
Please see the \fBsmartctl\fP(8) man page for further details.
828
\- [FreeBSD and Linux only] the device consists of one or more ATA disks
829
connected to a HighPoint RocketRAID controller. The integer L is the
830
controller id, the integer M is the channel number, and the integer N
831
is the PMPort number if it is available. The allowed values of L are
832
from 1 to 4 inclusive, M are from 1 to 8 inclusive and N from 1 to 4
833
if PMPort available. And also these values are limited by the model
834
of the HighPoint RocketRAID controller.
835
In log files and email messages this disk will be identified as
836
hpt_X/X/X and X/X/X is the same as L/M/N, note if no N indicated, N set
837
to the default value 1.
838
Please see the \fBsmartctl\fP(8) man page for further details.
841
\- the device or its media is removable. This indicates to
843
that it should continue (instead of exiting, which is the default
844
behavior) if the device does not appear to be present when
845
\fBsmartd\fP is started. This Directive may be used in conjunction
846
with the other \'\-d\' Directives.
848
.B \-n POWERMODE[,N][,q]
849
[ATA only] This \'nocheck\' Directive is used to prevent a disk from
850
being spun-up when it is periodically polled by \fBsmartd\fP.
852
ATA disks have five different power states. In order of increasing
853
power consumption they are: \'OFF\', \'SLEEP\', \'STANDBY\', \'IDLE\',
854
and \'ACTIVE\'. Typically in the OFF, SLEEP, and STANDBY modes the
855
disk\'s platters are not spinning. But usually, in response to SMART
856
commands issued by \fBsmartd\fP, the disk platters are spun up. So if
857
this option is not used, then a disk which is in a low\-power mode may
858
be spun up and put into a higher\-power mode when it is periodically
859
polled by \fBsmartd\fP.
861
Note that if the disk is in SLEEP mode when \fBsmartd\fP is started,
862
then it won't respond to \fBsmartd\fP commands, and so the disk won't
863
be registered as a device for \fBsmartd\fP to monitor. If a disk is in
864
any other low\-power mode, then the commands issued by \fBsmartd\fP to
865
register the disk will probably cause it to spin\-up.
867
The \'\fB\-n\fP\' (nocheck) Directive specifies if \fBsmartd\fP\'s
868
periodic checks should still be carried out when the device is in a
869
low\-power mode. It may be used to prevent a disk from being spun\-up
870
by periodic \fBsmartd\fP polling. The allowed values of POWERMODE
874
\- \fBsmartd\fP will poll (check) the device regardless of its power
875
mode. This may cause a disk which is spun\-down to be spun\-up when
876
\fBsmartd\fP checks it. This is the default behavior if the '\-n'
877
Directive is not given.
880
\- check the device unless it is in SLEEP mode.
883
\- check the device unless it is in SLEEP or STANDBY mode. In
884
these modes most disks are not spinning, so if you want to prevent
885
a laptop disk from spinning up each time that \fBsmartd\fP polls,
886
this is probably what you want.
889
\- check the device unless it is in SLEEP, STANDBY or IDLE mode.
890
In the IDLE state, most disks are still spinning, so this is probably
893
Maximum number of skipped checks (in a row) can be specified by
894
appending positive number \',N\' to POWERMODE (like \'\-n standby,15\').
895
After N checks are skipped in a row, powermode is ignored and the
896
check is performed anyway.
898
When a periodic test is skipped, \fBsmartd\fP normally writes an
899
informal log message. The message can be suppressed by appending
900
the option \',q\' to POWERMODE (like \'\-n standby,q\').
901
This prevents a laptop disk from spinning up due to this message.
903
Both \',N\' and \',q\' can be specified together.
906
Specifies how tolerant
908
should be of SMART command failures. The valid arguments to this
912
\- do not try to monitor the disk if a mandatory SMART command fails, but
913
continue if an optional SMART command fails. This is the default.
916
\- try to monitor the disk even if it appears to lack SMART
917
capabilities. This may be required for some old disks (prior to
918
ATA\-3 revision 4) that implemented SMART before the SMART standards
919
were incorporated into the ATA/ATAPI Specifications. This may also be
920
needed for some Maxtor disks which fail to comply with the ATA
921
Specifications and don't properly indicate support for error\- or
924
[Please see the \fBsmartctl \-T\fP command-line option.]
927
[ATA only] Enables or disables SMART Automatic Offline Testing when
929
starts up and has no further effect. The valid arguments to this
930
Directive are \fIon\fP and \fIoff\fP.
932
The delay between tests is vendor-specific, but is typically four
935
Note that SMART Automatic Offline Testing is \fBnot\fP part of the ATA
936
Specification. Please see the
938
command-line option documentation for further information about this
942
Enables or disables Attribute Autosave when \fBsmartd\fP
943
starts up and has no further effect. The valid arguments to this
944
Directive are \fIon\fP and \fIoff\fP. Also affects SCSI devices.
945
[Please see the \fBsmartctl \-S\fP command-line option.]
948
[ATA only] Check the SMART health status of the disk. If any Prefailure
949
Attributes are less than or equal to their threshold values, then disk
950
failure is predicted in less than 24 hours, and a message at loglevel
952
will be logged to syslog. [Please see the
954
command-line option.]
957
Reports increases in the number of errors in one of three SMART logs. The
958
valid arguments to this Directive are:
961
\- [ATA only] report if the number of ATA errors reported in the Summary SMART
962
error log has increased since the last check.
965
\- [ATA only] [NEW EXPERIMENTAL SMARTD FEATURE] report if the number of ATA
966
errors reported in the Extended Comprehensive SMART error log has increased
967
since the last check.
969
If both \'\-l error\' and \'\-l xerror\' are specified, smartd checks
970
the maximum of both values.
972
[Please see the \fBsmartctl \-l xerror\fP command-line option.]
975
\- report if the number of failed tests reported in the SMART
976
Self-Test Log has increased since the last check, or if the timestamp
977
associated with the most recent failed test has increased. Note that
978
such errors will \fBonly\fP be logged if you run self-tests on the
979
disk (and it fails a test!). Self-Tests can be run automatically by
980
\fBsmartd\fP: please see the \fB\'\-s\'\fP Directive below.
981
Self-Tests can also be run manually by using the \fB\'\-t\ short\'\fP
982
and \fB\'\-t\ long\'\fP options of \fBsmartctl\fP and the results of
983
the testing can be observed using the \fBsmartctl \'\-l\ selftest\'\fP
985
[Please see the \fBsmartctl \-l\fP and \fB\-t\fP command-line
988
[ATA only] Failed self-tests outdated by a newer successful extended
989
self\-test are ignored.
991
.I scterc,READTIME,WRITETIME
992
\- [ATA only] [NEW EXPERIMENTAL SMARTD FEATURE] sets the SCT Error
993
Recovery Control settings to the specified values (deciseconds)
994
when \fBsmartd\fP starts up and has no further effect.
995
Values of 0 disable the feature, other values less than 65 are probably
996
not supported. For RAID configurations, this is typically set to
998
[Please see the \fBsmartctl \-l scterc\fP command-line option.]
1002
Run Self-Tests or Offline Immediate Tests, at scheduled times. A
1003
Self- or Offline Immediate Test will be run at the end of periodic
1004
device polling, if all 12 characters of the string \fBT/MM/DD/d/HH\fP
1005
match the extended regular expression \fBREGEXP\fP. Here:
1008
is the type of the test. The values that \fBsmartd\fP will try to
1009
match (in turn) are: \'L\' for a \fBL\fPong Self-Test, \'S\' for a
1010
\fBS\fPhort Self-Test, \'C\' for a \fBC\fPonveyance Self-Test (ATA
1011
only), and \'O\' for an \fBO\fPffline Immediate Test (ATA only). As
1012
soon as a match is found, the test will be started and no additional
1013
matches will be sought for that device and that polling cycle.
1015
To run scheduled Selective Self-Tests, use \'n\' for \fBn\fPext span,
1016
\'r\' to \fBr\fPedo last span, or \'c\' to \fBc\fPontinue with next span
1017
or redo last span based on status of last test.
1018
The LBA range is based on the first span from the last test.
1019
See the \fBsmartctl \-t select,[next|redo|cont]\fP options for
1022
[NEW EXPERIMENTAL SMARTD FEATURE] Some disks (e.g. WD) do not preserve
1023
the selective self test log accross power cycles. If state persistence
1024
(\'\-s\' option) is enabled, the last test span is preserved by smartd
1025
and used if (and only if) the selective self test log is empty.
1028
is the month of the year, expressed with two decimal digits. The
1029
range is from 01 (January) to 12 (December) inclusive. Do \fBnot\fP
1030
use a single decimal digit or the match will always fail!
1032
is the day of the month, expressed with two decimal digits. The
1033
range is from 01 to 31 inclusive. Do \fBnot\fP
1034
use a single decimal digit or the match will always fail!
1036
is the day of the week, expressed with one decimal digit. The
1037
range is from 1 (Monday) to 7 (Sunday) inclusive.
1039
is the hour of the day, written with two decimal digits, and given in
1040
hours after midnight. The range is 00 (midnight to just before 1am)
1041
to 23 (11pm to just before midnight) inclusive. Do \fBnot\fP use a
1042
single decimal digit or the match will always fail!
1044
.\" The following two lines are a workaround for a man2html bug. Please leave them.
1045
.\" They define a non-existent option; useful because man2html can't correctly reset the margins.
1048
Some examples follow. In reading these, keep in mind that in extended
1049
regular expressions a dot \fB\'.\'\fP matches any single character, and
1050
a parenthetical expression such as \fB\'(A|B|C)\'\fP denotes any one of the three possibilities \fBA\fP,
1051
\fBB\fP, or \fBC\fP.
1053
To schedule a short Self-Test between 2-3am every morning, use:
1055
\fB \-s S/../.././02\fP
1057
To schedule a long Self-Test between 4-5am every Sunday morning, use:
1059
\fB \-s L/../../7/04\fP
1061
To schedule a long Self-Test between 10-11pm on the first and
1062
fifteenth day of each month, use:
1064
\fB \-s L/../(01|15)/./22\fP
1066
To schedule an Offline Immediate test after every midnight, 6am,
1067
noon,and 6pm, plus a Short Self-Test daily at 1-2am and a Long
1068
Self-Test every Saturday at 3-4am, use:
1070
\fB \-s (O/../.././(00|06|12|18)|S/../.././01|L/../../6/03)\fP
1072
If Long Self-Tests of a large disks take longer than the system uptime,
1073
a full disk test can be performed by several Selective Self-Tests.
1074
To setup a full test of a 1TB disk within 20 days (one 50GB span
1075
each day), run this command once:
1077
smartctl -t select,0-99999999 /dev/sda
1079
To run the next test spans on Monday-Friday between 12-13am, run smartd
1080
with this directive:
1082
\fB \-s n/../../[1-5]/12\fP
1086
Scheduled tests are run immediately following the regularly-scheduled
1087
device polling, if the current local date, time, and test type, match
1088
\fBREGEXP\fP. By default the regularly-scheduled device polling
1089
occurs every thirty minutes after starting \fBsmartd\fP. Take caution
1090
if you use the \'\-i\' option to make this polling interval more than
1091
sixty minutes: the poll times may fail to coincide with any of the
1092
testing times that you have specified with \fBREGEXP\fP. In this case
1093
the test will be run following the next device polling.
1095
Before running an offline or self-test, \fBsmartd\fP checks to be sure
1096
that a self-test is not already running. If a self-test \fBis\fP
1097
already running, then this running self test will \fBnot\fP be
1098
interrupted to begin another test.
1100
\fBsmartd\fP will not attempt to run \fBany\fP type of test if another
1101
test was already started or run in the same hour.
1103
To avoid performance problems during system boot, \fBsmartd\fP will
1104
not attempt to run any scheduled tests following the very first
1105
device polling (unless \'\-q onecheck\' is specified).
1107
Each time a test is run, \fBsmartd\fP will log an entry to SYSLOG.
1108
You can use these or the '-q showtests' command-line option to verify
1109
that you constructed \fBREGEXP\fP correctly. The matching order
1110
(\fBL\fP before \fBS\fP before \fBC\fP before \fBO\fP) ensures that
1111
if multiple test types are all scheduled for the same hour, the
1112
longer test type has precedence. This is usually the desired behavior.
1114
If the scheduled tests are used in conjunction with state persistence
1115
(\'\-s\' option), smartd will also try to match the hours since last
1116
shutdown (or 90 days at most). If any test would have been started
1117
during downtime, the longest (see above) of these tests is run after
1118
second device polling.
1120
If the \'\-n\' directive is used and any test would have been started
1121
during disk standby time, the longest of these tests is run when the
1122
disk is active again.
1124
Unix users: please beware that the rules for extended regular
1125
expressions [regex(7)] are \fBnot\fP the same as the rules for
1126
file\-name pattern matching by the shell [glob(7)]. \fBsmartd\fP will
1127
issue harmless informational warning messages if it detects characters
1128
in \fBREGEXP\fP that appear to indicate that you have made this
1132
Send a warning email to the email address \fBADD\fP if the \'\-H\',
1133
\'\-l\', \'\-f\', \'\-C\', or \'\-O\' Directives detect a failure or a
1134
new error, or if a SMART command to the disk fails. This Directive
1135
only works in conjunction with these other Directives (or with the
1136
equivalent default \'\-a\' Directive).
1138
To prevent your email in-box from getting filled up with warning
1139
messages, by default only a single warning will be sent for each of
1140
the enabled alert types, \'\-H\', \'\-l\', \'\-f\', \'\-C\', or
1141
\'\-O\' even if more than one failure or error is detected or if the
1142
failure or error persists. [This behavior can be modified; see the
1143
\'\-M\' Directive below.]
1145
To send email to more than one user, please use the following "comma
1146
separated" form for the address: \fBuser1@add1,user2@add2,...,userN@addN\fP
1149
To test that email is being sent correctly, use the \'\-M test\'
1150
Directive described below to send one test email message on
1154
By default, email is sent using the system
1156
command. In order that
1158
find the mail command (normally /bin/mail) an executable named
1160
must be in the path of the shell or environment from which
1162
was started. If you wish to specify an explicit path to the mail
1163
executable (for example /usr/local/bin/mail) or a custom script to
1164
run, please use the \'\-M exec\' Directive below.
1166
Note that by default under Solaris, in the previous paragraph,
1167
\'\fBmailx\fP\' and \'\fB/bin/mailx\fP\' are used, since Solaris
1168
\'/bin/mail\' does not accept a \'\-s\' (Subject) command-line
1171
On Windows, the \'\fBBlat\fP\' mailer
1172
(\fBhttp://blat.sourceforge.net/\fP) is used by default.
1173
This mailer uses a different command line syntax, see
1176
Note also that there is a special argument
1178
which can be given to the \'\-m\' Directive in conjunction with the \'\-M
1179
exec\' Directive. Please see below for an explanation of its effect.
1181
If the mailer or the shell running it produces any STDERR/STDOUT
1182
output, then a snippet of that output will be copied to SYSLOG. The
1183
remainder of the output is discarded. If problems are encountered in
1184
sending mail, this should help you to understand and fix them. If
1185
you have mail problems, we recommend running \fBsmartd\fP in debug
1186
mode with the \'-d\' flag, using the \'-M test\' Directive described
1189
The following extension is available on Windows:
1190
By specifying \'\fBmsgbox\fP\' as a mail address, a warning
1191
"email" is displayed as a message box on the screen.
1192
Using both \'\fBmsgbox\fP\' and regular mail addresses is possible,
1193
if \'\fBmsgbox\fP\' is the first word in the comma separated list.
1194
With \'\fBsysmsgbox\fP\', a system modal (always on top) message box
1195
is used. If running as a service, a service notification message box
1196
(always shown on current visible desktop) is used.
1199
These Directives modify the behavior of the
1201
email warnings enabled with the \'\-m\' email Directive described above.
1202
These \'\-M\' Directives only work in conjunction with the \'\-m\'
1203
Directive and can not be used without it.
1205
Multiple \-M Directives may be given. If more than one of the
1206
following three \-M Directives are given (example: \-M once \-M daily)
1207
then the final one (in the example, \-M daily) is used.
1209
The valid arguments to the \-M Directive are (one of the following
1213
\- send only one warning email for each type of disk problem detected. This
1214
is the default unless state persistence (\'\-s\' option) is enabled.
1217
\- send additional warning reminder emails, once per day, for each type
1218
of disk problem detected. This is the default if state persistence
1219
(\'\-s\' option) is enabled.
1222
\- send additional warning reminder emails, after a one-day interval,
1223
then a two-day interval, then a four-day interval, and so on for each
1224
type of disk problem detected. Each interval is twice as long as the
1227
In addition, one may add zero or more of the following Directives:
1230
\- send a single test email
1233
startup. This allows one to verify that email is delivered correctly.
1234
Note that if this Directive is used,
1236
will also send the normal email warnings that were enabled with the \'\-m\' Directive,
1237
in addition to the single test email!
1240
\- run the executable PATH instead of the default mail command, when
1242
needs to send email. PATH must point to an executable binary file or
1245
By setting PATH to point to a customized script, you can make
1246
\fBsmartd\fP perform useful tricks when a disk problem is detected
1247
(beeping the console, shutting down the machine, broadcasting warnings
1248
to all logged-in users, etc.) But please be careful. \fBsmartd\fP
1249
will \fBblock\fP until the executable PATH returns, so if your
1250
executable hangs, then \fBsmartd\fP will also hang. Some sample
1251
scripts are included in
1252
/usr/local/share/doc/smartmontools/examplescripts/.
1254
The return status of the executable is recorded by \fBsmartd\fP in
1255
SYSLOG. The executable is not expected to write to STDOUT or
1256
STDERR. If it does, then this is interpreted as indicating that
1257
something is going wrong with your executable, and a fragment of this
1258
output is logged to SYSLOG to help you to understand the problem.
1259
Normally, if you wish to leave some record behind, the executable
1260
should send mail or write to a file or device.
1262
Before running the executable, \fBsmartd\fP sets a number of
1263
environment variables. These environment variables may be used to
1264
control the executable\'s behavior. The environment variables
1265
exported by \fBsmartd\fP are:
1267
.IP \fBSMARTD_MAILER\fP 4
1268
is set to the argument of \-M exec, if present or else to \'mail\'
1269
(examples: /bin/mail, mail).
1270
.IP \fBSMARTD_DEVICE\fP 4
1271
is set to the device path (examples: /dev/hda, /dev/sdb).
1272
.IP \fBSMARTD_DEVICETYPE\fP 4
1273
is set to the device type specified by \'-d\' directive or
1275
.IP \fBSMARTD_DEVICESTRING\fP 4
1276
is set to the device description. For SMARTD_DEVICETYPE of ata or
1277
scsi, this is the same as SMARTD_DEVICE. For 3ware RAID controllers,
1278
the form used is \'/dev/sdc [3ware_disk_01]\'. For HighPoint
1279
RocketRAID controller, the form is \'/dev/sdd [hpt_1/1/1]\' under Linux
1280
or \'/dev/hptrr [hpt_1/1/1]\' under FreeBSD. For Areca controllers, the
1281
form is \'/dev/sg2 [areca_disk_09]\'. In these cases the device string
1282
contains a space and is NOT quoted. So to use $SMARTD_DEVICESTRING in a
1283
bash script you should probably enclose it in double quotes.
1284
.IP \fBSMARTD_FAILTYPE\fP 4
1285
gives the reason for the warning or message email. The possible values that
1286
it takes and their meanings are:
1289
\fIEmailTest\fP: this is an email test message.
1292
\fIHealth\fP: the SMART health status indicates imminent failure.
1295
\fIUsage\fP: a usage Attribute has failed.
1298
\fISelfTest\fP: the number of self-test failures has increased.
1301
\fIErrorCount\fP: the number of errors in the ATA error log has increased.
1304
\fICurrentPendingSector\fP: one of more disk sectors could not be
1305
read and are marked to be reallocated (replaced with spare sectors).
1308
\fIOfflineUncorrectableSector\fP: during off\-line testing, or self\-testing,
1309
one or more disk sectors could not be read.
1312
\fITemperature\fP: Temperature reached critical limit (see \-W directive).
1315
\fIFailedHealthCheck\fP: the SMART health status command failed.
1318
\fIFailedReadSmartData\fP: the command to read SMART Attribute data failed.
1321
\fIFailedReadSmartErrorLog\fP: the command to read the SMART error log failed.
1324
\fIFailedReadSmartSelfTestLog\fP: the command to read the SMART self-test log failed.
1327
\fIFailedOpenDevice\fP: the open() command to the device failed.
1328
.IP \fBSMARTD_ADDRESS\fP 4
1329
is determined by the address argument ADD of the \'\-m\' Directive.
1330
If ADD is \fB<nomailer>\fP, then \fBSMARTD_ADDRESS\fP is not set.
1331
Otherwise, it is set to the comma-separated-list of email addresses
1332
given by the argument ADD, with the commas replaced by spaces
1333
(example:admin@example.com root). If more than one email address is
1334
given, then this string will contain space characters and is NOT
1335
quoted, so to use it in a bash script you may want to enclose it in
1337
.IP \fBSMARTD_MESSAGE\fP 4
1338
is set to the one sentence summary warning email message string from
1340
This message string contains space characters and is NOT quoted. So to
1341
use $SMARTD_MESSAGE in a bash script you should probably enclose it in
1343
.IP \fBSMARTD_FULLMESSAGE\fP 4
1344
is set to the contents of the entire email warning message string from
1346
This message string contains space and return characters and is NOT quoted. So to
1347
use $SMARTD_FULLMESSAGE in a bash script you should probably enclose it in
1349
.IP \fBSMARTD_TFIRST\fP 4
1350
is a text string giving the time and date at which the first problem
1351
of this type was reported. This text string contains space characters
1352
and no newlines, and is NOT quoted. For example:
1355
Sun Feb 9 14:58:19 2003 CST
1356
.IP \fBSMARTD_TFIRSTEPOCH\fP 4
1357
is an integer, which is the unix epoch (number of seconds since Jan 1,
1358
1970) for \fBSMARTD_TFIRST\fP.
1360
.\" The following two lines are a workaround for a man2html bug. Please leave them.
1361
.\" They define a non-existent option; useful because man2html can't correctly reset the margins.
1364
The shell which is used to run PATH is system-dependent. For vanilla
1365
Linux/glibc it\'s bash. For other systems, the man page for
1366
\fBpopen\fP(3) should say what shell is used.
1368
If the \'\-m ADD\' Directive is given with a normal address argument,
1369
then the executable pointed to by PATH will be run in a shell with
1370
STDIN receiving the body of the email message, and with the same
1371
command-line arguments:
1373
-s "$SMARTD_SUBJECT" $SMARTD_ADDRESS
1375
that would normally be provided to \'mail\'. Examples include:
1377
.B -m user@home -M exec /bin/mail
1378
.B -m admin@work -M exec /usr/local/bin/mailto
1379
.B -m root -M exec /Example_1/bash/script/below
1382
Note that on Windows, the syntax of the \'\fBBlat\fP\' mailer is
1385
- -q -subject "$SMARTD_SUBJECT" -to "$SMARTD_ADDRESS"
1388
If the \'\-m ADD\' Directive is given with the special address argument
1390
then the executable pointed to by PATH is run in a shell with
1394
command-line arguments, for example:
1396
.B -m <nomailer> -M exec /Example_2/bash/script/below
1398
If the executable produces any STDERR/STDOUT output, then \fBsmartd\fP
1399
assumes that something is going wrong, and a snippet of that output
1400
will be copied to SYSLOG. The remainder of the output is then
1403
Some EXAMPLES of scripts that can be used with the \'\-M exec\'
1404
Directive are given below. Some sample scripts are also included in
1405
/usr/local/share/doc/smartmontools/examplescripts/.
1408
[ATA only] Check for \'failure\' of any Usage Attributes. If these
1409
Attributes are less than or equal to the threshold, it does NOT indicate
1410
imminent disk failure. It "indicates an advisory condition where the usage
1411
or age of the device has exceeded its intended design life period."
1412
[Please see the \fBsmartctl \-A\fP command-line option.]
1415
[ATA only] Report anytime that a Prefail Attribute has changed
1416
its value since the last check, 30 minutes ago. [Please see the
1418
command-line option.]
1421
[ATA only] Report anytime that a Usage Attribute has changed its value
1422
since the last check, 30 minutes ago. [Please see the
1424
command-line option.]
1427
[ATA only] Equivalent to turning on the two previous flags \'\-p\' and \'\-u\'.
1428
Tracks changes in \fIall\fP device Attributes (both Prefailure and
1429
Usage). [Please see the \fBsmartctl\fP \-A command-line option.]
1432
[ATA only] Ignore device Attribute number \fBID\fP when checking for failure
1433
of Usage Attributes. \fBID\fP must be a decimal integer in the range
1434
from 1 to 255. This Directive modifies the behavior of the \'\-f\'
1435
Directive and has no effect without it.
1437
This is useful, for example, if you have a very old disk and don\'t
1438
want to keep getting messages about the hours-on-lifetime Attribute
1439
(usually Attribute 9) failing. This Directive may appear multiple
1440
times for a single device, if you want to ignore multiple Attributes.
1443
[ATA only] Ignore device Attribute \fBID\fP when tracking changes in the
1444
Attribute values. \fBID\fP must be a decimal integer in the range
1445
from 1 to 255. This Directive modifies the behavior of the \'\-p\',
1446
\'\-u\', and \'\-t\' tracking Directives and has no effect without one
1449
This is useful, for example, if one of the device Attributes is the disk
1450
temperature (usually Attribute 194 or 231). It\'s annoying to get reports
1451
each time the temperature changes. This Directive may appear multiple
1452
times for a single device, if you want to ignore multiple Attributes.
1455
[ATA only] When tracking, report the \fIRaw\fP value of Attribute \fBID\fP
1456
along with its (normally reported) \fINormalized\fP value. \fBID\fP must
1457
be a decimal integer in the range from 1 to 255. This Directive modifies
1458
the behavior of the \'\-p\', \'\-u\', and \'\-t\' tracking Directives
1459
and has no effect without one of them. This Directive may be given
1462
A common use of this Directive is to track the device Temperature
1463
(often ID=194 or 231).
1465
If the optional flag \'!\' is appended, a change of the Normalized
1466
value is considered critical. The report will be logged as LOG_CRIT
1467
and a warning email will be sent if \'-m\' is specified.
1470
[ATA only] When tracking, report whenever the \fIRaw\fP value of Attribute
1471
\fBID\fP changes. (Normally \fBsmartd\fP only tracks/reports changes
1472
of the \fINormalized\fP Attribute values.) \fBID\fP must be a decimal
1473
integer in the range from 1 to 255. This Directive modifies the
1474
behavior of the \'\-p\', \'\-u\', and \'\-t\' tracking Directives and
1475
has no effect without one of them. This Directive may be given
1478
If this Directive is given, it automatically implies the \'\-r\'
1479
Directive for the same Attribute, so that the Raw value of the
1480
Attribute is reported.
1482
A common use of this Directive is to track the device Temperature
1483
(often ID=194 or 231). It is also useful for understanding how
1484
different types of system behavior affects the values of certain
1487
If the optional flag \'!\' is appended, a change of the Raw
1488
value is considered critical. The report will be logged as
1489
LOG_CRIT and a warning email will be sent if \'-m\' is specified.
1490
An example is \'-R 5!\' to warn when new sectors are reallocated.
1493
[ATA only] Report if the current number of pending sectors is
1494
non-zero. Here \fBID\fP is the id number of the Attribute whose raw
1495
value is the Current Pending Sector count. The allowed range of
1496
\fBID\fP is 0 to 255 inclusive. To turn off this reporting, use
1497
ID\ =\ 0. If the \fB\-C ID\fP option is not given, then it defaults to
1498
\fB\-C 197\fP (since Attribute 197 is generally used to monitor
1499
pending sectors). If the name of this Attribute is changed by a
1500
\'\-v 197,FORMAT,NAME\' directive, the default is changed to
1503
If \'+\' is specified, a report is only printed if the number of sectors
1504
has increased between two check cycles. Some disks do not reset this
1505
attribute when a bad sector is reallocated.
1506
See also \'\-v 197,increasing\' below.
1508
A pending sector is a disk sector (containing 512 bytes of your data)
1509
which the device would like to mark as ``bad" and reallocate.
1510
Typically this is because your computer tried to read that sector, and
1511
the read failed because the data on it has been corrupted and has
1512
inconsistent Error Checking and Correction (ECC) codes. This is
1513
important to know, because it means that there is some unreadable data
1514
on the disk. The problem of figuring out what file this data belongs
1515
to is operating system and file system specific. You can typically
1516
force the sector to reallocate by writing to it (translation: make the
1517
device substitute a spare good sector for the bad one) but at the
1518
price of losing the 512 bytes of data stored there.
1521
[ATA only] Report if the number of offline uncorrectable sectors is
1522
non-zero. Here \fBID\fP is the id number of the Attribute whose raw
1523
value is the Offline Uncorrectable Sector count. The allowed range of
1524
\fBID\fP is 0 to 255 inclusive. To turn off this reporting, use
1525
ID\ =\ 0. If the \fB\-U ID\fP option is not given, then it defaults to
1526
\fB\-U 198\fP (since Attribute 198 is generally used to monitor
1527
offline uncorrectable sectors). If the name of this Attribute is changed
1528
by a \'\-v 198,FORMAT,NAME\' (except \'\-v 198,FORMAT,Offline_Scan_UNC_SectCt\'),
1529
directive, the default is changed to \fB\-U 0\fP.
1531
If \'+\' is specified, a report is only printed if the number of sectors
1532
has increased since the last check cycle. Some disks do not reset this
1533
attribute when a bad sector is reallocated.
1534
See also \'\-v 198,increasing\' below.
1536
An offline uncorrectable sector is a disk sector which was not
1537
readable during an off\-line scan or a self\-test. This is important
1538
to know, because if you have data stored in this disk sector, and you
1539
need to read it, the read will fail. Please see the previous \'\-C\'
1540
option for more details.
1542
.B \-W DIFF[,INFO[,CRIT]]
1543
Report if the current temperature had changed by at least \fBDIFF\fP
1544
degrees since last report, or if new min or max temperature is detected.
1545
Report or Warn if the temperature is greater or equal than one of
1546
\fBINFO\fP or \fBCRIT\fP degrees Celsius.
1547
If the limit \fBCRIT\fP is reached, a message with loglevel
1548
\fB\'LOG_CRIT\'\fP will be logged to syslog and a warning email
1549
will be send if '-m' is specified. If only the limit \fBINFO\fP is
1550
reached, a message with loglevel \fB\'LOG_INFO\'\fP will be logged.
1552
If this directive is used in conjunction with state persistence
1553
(\'\-s\' option), the min and max temperature values are preserved
1554
across boot cycles. The minimum temperature value is not updated
1555
during the first 30 minutes after startup.
1557
To disable any of the 3 reports, set the corresponding limit to 0.
1558
Trailing zero arguments may be omitted. By default, all temperature
1559
reports are disabled (\'-W 0\').
1561
To track temperature changes of at least 2 degrees, use:
1565
To log informal messages on temperatures of at least 40 degrees, use:
1569
For warning messages/mails on temperatures of at least 45 degrees, use:
1573
To combine all of the above reports, use:
1578
For ATA devices, smartd interprets Attribute 194 as Temperature Celsius
1579
by default. This can be changed to Attribute 9 or 220 by the drive
1580
database or by the \'-v\' directive, see below.
1583
[ATA only] Modifies the behavior of \fBsmartd\fP to compensate for
1584
some known and understood device firmware bug. The arguments to this
1585
Directive are exclusive, so that only the final Directive given is
1586
used. The valid values are:
1589
\- Assume that the device firmware obeys the ATA specifications. This
1590
is the default, unless the device has presets for \'\-F\' in the
1594
\- In some Samsung disks (example: model SV4012H Firmware Version:
1595
RM100\-08) some of the two\- and four\-byte quantities in the SMART data
1596
structures are byte\-swapped (relative to the ATA specification).
1597
Enabling this option tells \fBsmartd\fP to evaluate these quantities
1598
in byte\-reversed order. Some signs that your disk needs this option
1599
are (1) no self\-test log printed, even though you have run self\-tests;
1600
(2) very large numbers of ATA errors reported in the ATA error log;
1601
(3) strange and impossible values for the ATA error log timestamps.
1604
\- In some Samsung disks the number of ATA errors reported is byte swapped.
1605
Enabling this option tells \fBsmartd\fP to evaluate this quantity in
1606
byte\-reversed order.
1609
\- Some Samsung disks (at least SP2514N with Firmware VF100\-37) report
1610
a self\-test still in progress with 0% remaining when the test was already
1611
completed. If this directive is specified, \fBsmartd\fP will not skip the
1612
next scheduled self\-test (see Directive \'\-s\' above) in this case.
1614
Note that an explicit \'\-F\' Directive will over\-ride any preset
1615
values for \'\-F\' (see the \'\-P\' option below).
1618
[Please see the \fBsmartctl \-F\fP command-line option.]
1620
.B \-v ID,FORMAT[:BYTEORDER][,NAME]
1621
[ATA only] Sets a vendor\-specific raw value print FORMAT, an optional
1622
BYTEORDER and an optional NAME for Attribute ID.
1623
This directive may be used multiple times.
1624
Please see \fBsmartctl -v\fP command-line option for further details.
1626
The following arguments affect smartd warning output:
1629
\- Raw Attribute number 197 (Current Pending Sector Count) is not
1630
reset if uncorrectable sectors are reallocated. This sets \'-C 197+\'
1631
if no other \'-C\' directive is specified.
1634
\- Raw Attribute number 198 (Offline Uncorrectable Sector Count) is not
1635
reset if uncorrectable sector are reallocated. This sets \'-U 198+\'
1636
if no other \'-U\' directive is specified.
1639
[ATA only] Specifies whether \fBsmartd\fP should use any preset options
1640
that are available for this drive.
1641
The valid arguments to this Directive are:
1644
\- use any presets that are available for this drive. This is the default.
1647
\- do not use any presets for this drive.
1650
\- show the presets listed for this drive in the database.
1653
\- show the presets that are available for all drives and then exit.
1657
command-line option.]
1660
Equivalent to turning on all of the following Directives:
1662
to check the SMART health status,
1664
to report failures of Usage (rather than Prefail) Attributes,
1666
to track changes in both Prefailure and Usage Attributes,
1667
.B \'\-l\ selftest\'
1668
to report increases in the number of Self-Test Log errors,
1670
to report increases in the number of ATA errors,
1672
to report nonzero values of the current pending sector count, and
1674
to report nonzero values of the offline pending sector count.
1676
Note that \-a is the default for ATA devices. If none of these other
1677
Directives is given, then \-a is assumed.
1680
Comment: ignore the remainder of the line.
1683
Continuation character: if this is the last non-white or non-comment
1684
character on a line, then the following line is a continuation of the current
1687
If you are not sure which Directives to use, I suggest experimenting
1688
for a few minutes with
1690
to see what SMART functionality your disk(s) support(s). If you do
1691
not like voluminous syslog messages, a good choice of
1693
configuration file Directives might be:
1695
.B \-H \-l\ selftest \-l\ error \-f.
1697
If you want more frequent information, use:
1700
.B If a cciss controller is used
1701
then the corresponding block device (/dev/cciss/c?d?) must be listed,
1702
along with the \'\-d cciss,N\' Directive (see below).
1705
.B ADDITIONAL DETAILS ABOUT DEVICESCAN
1706
If a non-comment entry in the configuration file is the text
1707
string \fBDEVICESCAN\fP in capital letters, then \fBsmartd\fP will
1708
ignore any remaining lines in the configuration file, and will scan
1711
[NEW EXPERIMENTAL SMARTD FEATURE] Configuration entries for devices
1712
not found by the platform\-specific device scanning may precede the
1713
\fBDEVICESCAN\fP entry.
1715
If \fBDEVICESCAN\fP is not followed by any Directives, then smartd
1716
will scan for both ATA and SCSI devices, and will monitor all possible
1717
SMART properties of any devices that are found.
1719
\fBDEVICESCAN\fP may optionally be followed by any valid Directives,
1720
which will be applied to all devices that are found in the scan. For
1723
.B DEVICESCAN -m root@example.com
1725
will scan for all devices, and then monitor them. It will send one
1726
email warning per device for any problems that are found.
1728
.B DEVICESCAN -d ata -m root@example.com
1730
will do the same, but restricts the scan to ATA devices only.
1732
.B DEVICESCAN -H -d ata -m root@example.com
1734
will do the same, but only monitors the SMART health status of the
1735
devices, (rather than the default \-a, which monitors all SMART
1739
.B EXAMPLES OF SHELL SCRIPTS FOR \'\-M exec\'
1740
These are two examples of shell scripts that can be used with the \'\-M
1741
exec PATH\' Directive described previously. The paths to these scripts
1742
and similar executables is the PATH argument to the \'\-M exec PATH\'
1745
Example 1: This script is for use with \'\-m ADDRESS -M exec PATH\'. It appends
1748
to the output of the smartd email warning message and sends it to ADDRESS.
1754
# Save the email message (STDIN) to a file:
1757
# Append the output of smartctl -a to the message:
1758
/usr/local/sbin/smartctl -a -d $SMART_DEVICETYPE $SMARTD_DEVICE >> /root/msg
1760
# Now email the message to the user at address ADD:
1761
/bin/mail -s "$SMARTD_SUBJECT" $SMARTD_ADDRESS < /root/msg
1765
Example 2: This script is for use with \'\-m <nomailer> \-M exec
1766
PATH\'. It warns all users about a disk problem, waits 30 seconds, and
1767
then powers down the machine.
1773
# Warn all users of a problem
1774
wall \'Problem detected with disk: \' "$SMARTD_DEVICESTRING"
1775
wall \'Warning message from smartd is: \' "$SMARTD_MESSAGE"
1776
wall \'Shutting down machine in 30 seconds... \'
1778
# Wait half a minute
1781
# Power down the machine
1782
/sbin/shutdown -hf now
1786
Some example scripts are distributed with the smartmontools package,
1787
in /usr/local/share/doc/smartmontools/examplescripts/.
1789
Please note that these scripts typically run as root, so any files
1790
that they read/write should not be writable by ordinary users or
1791
reside in directories like /tmp that are writable by ordinary users
1792
and may expose your system to symlink attacks.
1794
As previously described, if the scripts write to STDOUT or STDERR,
1795
this is interpreted as indicating that there was an internal error
1796
within the script, and a snippet of STDOUT/STDERR is logged to SYSLOG.
1797
The remainder is flushed.
1800
.\" DO NOT MODIFY THIS OR PREVIOUS/NEXT LINES. THIS DEFINES THE
1801
.\" END OF THE INCLUDE SECTION FOR smartd.conf.5
1805
will make log entries at loglevel
1807
if the Normalized SMART Attribute values have changed, as reported using the
1808
.B \'\-t\', \'\-p\',
1811
Directives. For example:
1813
.B \'Device: /dev/hda, SMART Attribute: 194 Temperature_Celsius changed from 94 to 93\'
1815
Note that in this message, the value given is the \'Normalized\' not the \'Raw\'
1816
Attribute value (the disk temperature in this case is about 22
1821
Directives modify this behavior, so that the information is printed
1822
with the Raw values as well, for example:
1824
.B \'Device: /dev/hda, SMART Attribute: 194 Temperature_Celsius changed from 94 [Raw 22] to 93 [Raw 23]\'
1826
Here the Raw values are the actual disk temperatures in Celsius. The
1827
way in which the Raw values are printed, and the names under which the
1828
Attributes are reported, is governed by the various
1829
.B \'-v Num,Description\'
1830
Directives described previously.
1834
manual page for further explanation of the differences between
1835
Normalized and Raw Attribute values.
1838
will make log entries at loglevel
1840
if a SMART Attribute has failed, for example:
1842
.B \'Device: /dev/hdc, Failed SMART Attribute: 5 Reallocated_Sector_Ct\'
1844
This loglevel is used for reporting enabled by the
1845
.B \'\-H\', \-f\', \'\-l\ selftest\',
1848
Directives. Entries reporting failure of SMART Prefailure Attributes
1849
should not be ignored: they mean that the disk is failing. Use the
1851
utility to investigate.
1853
Under Solaris with the default \fB/etc/syslog.conf\fP configuration,
1854
messages below loglevel \fBLOG_NOTICE\fP will \fBnot\fP be recorded.
1855
Hence all \fBsmartd\fP messages with loglevel \fBLOG_INFO\fP will be
1856
lost. If you want to use the existing daemon facility to log all
1857
messages from \fBsmartd\fP, you should change \fB/etc/syslog.conf\fP
1860
...;daemon.notice;... /var/adm/messages
1864
...;daemon.info;... /var/adm/messages
1866
Alternatively, you can use a local facility to log messages: please
1867
see the \fBsmartd\fP '-l' command-line option described above.
1869
On Cygwin and Windows, the log messages are written to the event log
1870
or to a file. See documentation of the '-l FACILITY' option above for
1873
On Windows, the following built-in commands can be used to control
1874
\fBsmartd\fP, if running as a daemon:
1876
\'\fBsmartd status\fP\' \- check status
1878
\'\fBsmartd stop\fP\' \- stop smartd
1880
\'\fBsmartd reload\fP\' \- reread config file
1882
\'\fBsmartd restart\fP\' \- restart smartd
1884
\'\fBsmartd sigusr1\fP\' \- check disks now
1886
\'\fBsmartd sigusr2\fP\' \- toggle debug mode
1888
On WinNT4/2000/XP, \fBsmartd\fP can also be run as a Windows service:
1891
The Cygwin Version of \fBsmartd\fP can be run as a service via the
1892
cygrunsrv tool. The start-up script provides Cygwin-specific commands
1893
to install and remove the service:
1895
.B /usr/local/etc/rc.d/init.d/smartd install [options]
1896
.B /usr/local/etc/rc.d/init.d/smartd remove
1898
The service can be started and stopped by the start-up script as usual
1899
(see \fBEXAMPLES\fP above).
1902
The Windows Version of \fBsmartd\fP has buildin support for services:
1904
\'\fBsmartd install [options]\fP\' installs a service
1905
named "smartd" (display name "SmartD Service") using the command line
1906
\'/installpath/smartd.exe --service [options]\'.
1908
\'\fBsmartd remove\fP\' can later be used to remove the service entry
1911
Upon startup, the smartd service changes the working directory
1912
to its own installation path. If smartd.conf and blat.exe are stored
1913
in this directory, no \'-c\' option and \'-M exec\' directive is needed.
1915
The debug mode (\'-d\', \'-q onecheck\') does not work if smartd is
1918
The service can be controlled as usual with Windows commands \'net\'
1919
or \'sc\' (\'\fBnet start smartd\fP\', \'\fBnet stop smartd\fP\').
1921
Pausing the service (\'\fBnet pause smartd\fP\') sets the interval between
1922
disk checks (\'-i N\') to infinite.
1924
Continuing the paused service (\'\fBnet continue smartd\fP\') resets the
1925
interval and rereads the configuration file immediately (like \fBSIGHUP\fP):
1927
Continuing a still running service (\'\fBnet continue smartd\fP\' without
1928
preceding \'\fBnet pause smartd\fP\') does not reread configuration but
1929
checks disks immediately (like \fBSIGUSR1\fP).
1931
.SH LOG TIMESTAMP TIMEZONE
1933
When \fBsmartd\fP makes log entries, these are time-stamped. The time
1934
stamps are in the computer's local time zone, which is generally set
1935
using either the environment variable \'\fBTZ\fP\' or using a
1936
time-zone file such as \fB/etc/localtime\fP. You may wish to change
1937
the timezone while \fBsmartd\fP is running (for example, if you carry
1938
a laptop to a new time-zone and don't reboot it). Due to a bug in the
1939
\fBtzset(3)\fP function of many unix standard C libraries, the
1940
time-zone stamps of \fBsmartd\fP might not change. For some systems,
1941
\fBsmartd\fP will work around this problem \fIif\fP the time-zone is
1942
set using \fB/etc/localtime\fP. The work-around \fIfails\fP if the
1943
time-zone is set using the \'\fBTZ\fP\' variable (or a file that it
1948
The return value (exit status) of
1950
can have the following values:
1953
Daemon startup successful, or \fBsmartd\fP was killed by a SIGTERM (or in debug mode, a SIGQUIT).
1956
Commandline did not parse.
1959
There was a syntax error in the config file.
1962
Forking the daemon failed.
1965
Couldn\'t create PID file.
1968
Config file does not exist (only returned in conjunction with the \'-c\' option).
1971
Config file exists, but cannot be read.
1975
ran out of memory during startup.
1978
A compile time constant of\fB smartd\fP was too small. This can be caused by an
1979
excessive number of disks, or by lines in \fB /usr/local/etc/smartd.conf\fP that are too long.
1980
Please report this problem to \fB smartmontools-support@lists.sourceforge.net\fP.
1983
An inconsistency was found in \fBsmartd\fP\'s internal data
1984
structures. This should never happen. It must be due to either a
1985
coding or compiler bug. \fIPlease\fP report such failures to
1986
smartmontools-support@lists.sourceforge.net.
1989
A device explicitly listed in
1990
.B /usr/local/etc/smartd.conf
1991
can\'t be monitored.
1995
didn\'t find any devices to monitor.
1998
When in daemon mode,
2000
received a SIGINT or SIGQUIT. (Note that in debug mode, SIGINT has
2001
the same effect as SIGHUP, and makes \fBsmartd\fP reload its
2002
configuration file. SIGQUIT has the same effect as SIGTERM and causes
2003
\fBsmartd\fP to exit with zero exit status.
2007
was killed by a signal that is not explicitly listed above. The exit
2008
status is then 128 plus the signal number. For example if
2010
is killed by SIGKILL (signal 9) then the exit status is 137.
2014
\fBBruce Allen\fP smartmontools\-support@lists.sourceforge.net
2016
University of Wisconsin \- Milwaukee Physics Department
2020
The following have made large contributions to smartmontools:
2022
\fBCasper Dik\fP (Solaris SCSI interface)
2023
\fBChristian Franke\fP (Windows interface, C++ redesign, USB support, ...)
2024
\fBDouglas Gilbert\fP (SCSI subsystem)
2025
\fBGuido Guenther\fP (Autoconf/Automake packaging)
2026
\fBGeoffrey Keating\fP (Darwin ATA interface)
2027
\fBEduard Martinescu\fP (FreeBSD interface)
2028
\fBFr\*'ed\*'eric L. W. Meunier\fP (Web site and Mailing list)
2029
\fBGabriele Pohl\fP (Web site and Wiki, conversion from CVS to SVN)
2030
\fBKeiji Sawada\fP (Solaris ATA interface)
2031
\fBManfred Schwarb\fP (Drive database)
2032
\fBSergey Svishchev\fP (NetBSD interface)
2033
\fBDavid Snyder and Sergey Svishchev\fP (OpenBSD interface)
2034
\fBPhil Williams\fP (User interface and drive database)
2035
\fBShengfeng Zhou\fP (Linux/FreeBSD HighPoint RocketRAID interface)
2037
Many other individuals have made smaller contributions and corrections.
2042
This code was derived from the smartsuite package, written by Michael
2043
Cornwell, and from the previous UCSC smartsuite package. It extends
2044
these to cover ATA\-5 disks. This code was originally developed as a
2045
Senior Thesis by Michael Cornwell at the Concurrent Systems Laboratory
2046
(now part of the Storage Systems Research Center), Jack Baskin School
2047
of Engineering, University of California, Santa
2048
Cruz. \fBhttp://ssrc.soe.ucsc.edu/\fP .
2050
HOME PAGE FOR SMARTMONTOOLS:
2052
Please see the following web site for updates, further documentation, bug
2053
reports and patches: \fBhttp://smartmontools.sourceforge.net/\fP
2057
\fBsmartd.conf\fP(5), \fBsmartctl\fP(8), \fBsyslogd\fP(8),
2058
\fBsyslog.conf\fP(5), \fBbadblocks\fP(8), \fBide\-smart\fP(8), \fBregex\fP(7).
2061
REFERENCES FOR SMART
2063
An introductory article about smartmontools is \fIMonitoring Hard
2064
Disks with SMART\fP, by Bruce Allen, Linux Journal, January 2004,
2065
pages 74\-77. This is \fBhttp://www.linuxjournal.com/article/6983\fP
2068
If you would like to understand better how SMART works, and what it
2069
does, a good place to start is with Sections 4.8 and 6.54 of the first
2070
volume of the \'AT Attachment with Packet Interface\-7\' (ATA/ATAPI\-7)
2071
specification Revision 4b. This documents the SMART functionality which the
2072
\fBsmartmontools\fP utilities provide access to.
2073
This and other versions of this Specification are available from
2074
the T13 web site \fBhttp://www.t13.org/\fP .
2077
The functioning of SMART was originally defined by the SFF\-8035i
2078
revision 2 and the SFF\-8055i revision 1.4 specifications. These are
2079
publications of the Small Form Factors (SFF) Committee.
2081
Links to these and other documents may be found on the Links page of the
2082
\fBsmartmontools\fP Wiki at
2083
\fBhttp://sourceforge.net/apps/trac/smartmontools/wiki/Links\fP .
2086
SVN ID OF THIS PAGE:
2087
$Id: smartd.8.in 3284 2011-03-04 21:33:35Z chrfranke $