~ubuntu-branches/ubuntu/raring/smartmontools/raring

« back to all changes in this revision

Viewing changes to .pc/manpage.diff/smartd.8.in

  • Committer: Package Import Robot
  • Author(s): Giuseppe Iuculano
  • Date: 2012-05-12 13:02:49 UTC
  • mfrom: (2.2.17 sid)
  • Revision ID: package-import@ubuntu.com-20120512130249-x4vmqc2uu3bynss1
Tags: 5.42+svn3539-1
* [e165493] Imported Upstream version 5.42+svn3539
  (Closes: #668391, #608953)
* [9fcd449] Refreshed patches
* [65c801f] Do not install upstream init (Closes: #631075)
* [9a19418] Fixed check for /usr/bin/mail.
  Thanks to Martin von Gagern (Closes: #649515)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
.ig
2
 
Copyright (C) 2002-10 Bruce Allen <smartmontools-support@lists.sourceforge.net>
3
 
 
4
 
$Id: smartd.8.in 3284 2011-03-04 21:33:35Z chrfranke $
5
 
 
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)
9
 
any later 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.,
13
 
675 Mass Ave, Cambridge, MA 02139, USA.
14
 
 
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/
19
 
..
20
 
.TH SMARTD 8 CURRENT_SVN_DATE CURRENT_SVN_VERSION CURRENT_SVN_DATE
21
 
.SH NAME
22
 
\fBsmartd\fP \- SMART Disk Monitoring Daemon
23
 
 
24
 
.SH SYNOPSIS
25
 
.B smartd [options]
26
 
 
27
 
.SH FULL PATH
28
 
.B /usr/local/sbin/smartd
29
 
 
30
 
.SH PACKAGE VERSION
31
 
CURRENT_SVN_VERSION CURRENT_SVN_DATE CURRENT_SVN_REV
32
 
 
33
 
.SH DESCRIPTION
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).
41
 
 
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.
50
 
 
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.
58
 
 
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
62
 
details.
63
 
 
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:
69
 
.fi
70
 
\fBkillall -HUP smartd\fP.
71
 
.fi
72
 
(Windows: See NOTES below.)
73
 
 
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.
81
 
 
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).
87
 
 
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:
91
 
.IP \fBLINUX:\fP 9
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.
95
 
.IP \fBFREEBSD:\fP 9
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 
99
 
\'hw.disknames\'.
100
 
.IP \fBSOLARIS:\fP 9
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.
103
 
.IP \fBDARWIN:\fP 9
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 
113
 
 
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.
118
 
 
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
121
 
Matrix RAID driver.
122
 
.IP \fBCYGWIN\fP: 9
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.
126
 
.PP
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
130
 
below). 
131
 
 
132
 
.SH 
133
 
OPTIONS
134
 
 
135
 
.TP
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).
142
 
 
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
147
 
argument: \'-A ""\'.
148
 
.\" END ENABLE_ATTRIBUTELOG
149
 
MODEL and SERIAL are build from drive identify information, invalid
150
 
characters are replaced by underline.
151
 
 
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.
157
 
.TP
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.
163
 
.TP
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.
170
 
 
171
 
By using \'\-\' for FILE, the configuration is read from standard
172
 
input. This is useful for commands like:
173
 
.nf
174
 
.B echo /dev/hdb \-m user@home \-M test | smartd \-c \- \-q onecheck
175
 
.fi
176
 
to perform quick and simple checks without a configuration file.
177
 
.\" BEGIN ENABLE_CAPABILITIES
178
 
.TP
179
 
.B \-C, \-\-capabilities
180
 
Use \fBcapabilities(7)\fP (EXPERIMENTAL).
181
 
 
182
 
Warning: Mail notification does not work when used.
183
 
.\" END ENABLE_CAPABILITIES
184
 
.TP
185
 
.B \-d, \-\-debug
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).
195
 
 
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.
199
 
.TP
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.
205
 
.TP
206
 
.B \-h, \-\-help, \-\-usage
207
 
Prints usage message to STDOUT and exits.
208
 
.TP
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.
214
 
 
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
217
 
with the command:
218
 
.nf
219
 
.B kill -SIGUSR1 <pid>
220
 
.fi
221
 
where \fB<pid>\fP is the process id number of \fBsmartd\fP.  One may
222
 
also use:
223
 
.nf
224
 
.B killall -USR1 smartd
225
 
.fi
226
 
for the same purpose.
227
 
.fi
228
 
(Windows: See NOTES below.)
229
 
.TP
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
235
 
\fIdaemon\fP.
236
 
 
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:
240
 
.RS 7
241
 
.IP \fB[1]\fP 4
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.
245
 
.IP \fB[2]\fP 4
246
 
Modify the \fBsyslogd\fP configuration file (typically
247
 
\fB/etc/syslog.conf\fP) by adding a line of the form:
248
 
.nf
249
 
\fBlocal3.* /var/log/smartd.log\fP
250
 
.fi
251
 
This tells \fBsyslogd\fP to log all the messages from facility \fBlocal3\fP to
252
 
the designated file: /var/log/smartd.log.
253
 
.IP \fB[3]\fP 4
254
 
Tell \fBsyslogd\fP to re-read its configuration file, typically by
255
 
sending the \fBsyslogd\fP process a \fBSIGHUP\fP hang-up signal.
256
 
.IP \fB[4]\fP 4
257
 
Start (or restart) the \fBsmartd\fP daemon.
258
 
.RE
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.
261
 
.TP
262
 
.B \&
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.
267
 
 
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.
272
 
 
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.
283
 
 
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.
289
 
.TP
290
 
.B \-n, \-\-no\-fork
291
 
Do not fork into background; this is useful when executed from modern
292
 
init methods like initng, minit or supervise.
293
 
 
294
 
On Cygwin, this allows running \fBsmartd\fP as service via cygrunsrv,
295
 
see NOTES below.
296
 
 
297
 
On Windows, this option is not available, use \'\-\-service\' instead.
298
 
.TP
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
305
 
pidfile is removed.
306
 
.TP
307
 
.B \-q WHEN, \-\-quit=WHEN
308
 
Specifies when, if ever, \fBsmartd\fP should exit.  The valid
309
 
arguments are to this option are:
310
 
 
311
 
.I nodev
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.
314
 
 
315
 
.I errors
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
318
 
is reloaded.
319
 
 
320
 
.I nodevstartup
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
323
 
reloaded.
324
 
 
325
 
.I never
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.
331
 
 
332
 
.I onecheck
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.
336
 
 
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.
349
 
 
350
 
.I showtests
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.
355
 
 
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.
360
 
.TP
361
 
.B \-r TYPE, \-\-report=TYPE
362
 
Intended primarily to help
363
 
.B smartmontools
364
 
developers understand the behavior of
365
 
.B smartmontools
366
 
on non-conforming or poorly-conforming hardware.  This option reports
367
 
details of
368
 
\fBsmartd\fP
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
373
 
this option are:
374
 
 
375
 
.I ioctl
376
 
\- report all ioctl() transactions.
377
 
 
378
 
.I ataioctl
379
 
\- report only ioctl() transactions with ATA devices.
380
 
 
381
 
.I scsiioctl
382
 
\- report only ioctl() transactions with SCSI devices.
383
 
 
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
388
 
equivalent.
389
 
.TP
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.
396
 
 
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
401
 
argument: \'-s ""\'.
402
 
.\" END ENABLE_SAVESTATES
403
 
MODEL and SERIAL are build from drive identify information, invalid
404
 
characters are replaced by underline.
405
 
 
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.
411
 
 
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.
417
 
.TP
418
 
.B \-\-service
419
 
Cygwin and Windows only: Enables \fBsmartd\fP to run as a Windows service.
420
 
 
421
 
On Cygwin, this option is kept for backward compatibility only.
422
 
It has the same effect as \'\-n, \-\-no\-fork\', see above.
423
 
 
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.
428
 
.TP
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.
433
 
 
434
 
.SH EXAMPLES
435
 
 
436
 
.B
437
 
smartd
438
 
.fi
439
 
Runs the daemon in forked mode. This is the normal way to run
440
 
\fBsmartd\fP.
441
 
Entries are logged to SYSLOG.
442
 
 
443
 
.B
444
 
smartd -d -i 30
445
 
.fi
446
 
Run in foreground (debug) mode, checking the disk status
447
 
every 30 seconds.
448
 
 
449
 
.B
450
 
smartd -q onecheck
451
 
.fi
452
 
Registers devices, and checks the status of the devices exactly
453
 
once. The exit status (the bash
454
 
.B $?
455
 
variable) will be zero if all went well, and nonzero if no devices
456
 
were detected or some other problem was encountered.
457
 
 
458
 
.fi 
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:
463
 
.nf
464
 
.B /usr/local/etc/rc.d/init.d/smartd start
465
 
.fi
466
 
and stop it by using the command:
467
 
.nf
468
 
.B /usr/local/etc/rc.d/init.d/smartd stop
469
 
.fi
470
 
 
471
 
.\" DO NOT MODIFY THIS OR THE FOLLOWING TWO LINES. THIS MATERIAL
472
 
.\" IS AUTOMATICALLY INCLUDED IN THE FILE smartd.conf.5
473
 
.\" STARTINCLUDE
474
 
 
475
 
.SH CONFIGURATION FILE /usr/local/etc/smartd.conf
476
 
In the absence of a configuration file, under Linux
477
 
\fBsmartd\fP 
478
 
will try to open the 20 ATA devices 
479
 
.B /dev/hd[a-t] 
480
 
and the 26 SCSI devices
481
 
.B /dev/sd[a-z].
482
 
Under FreeBSD, 
483
 
\fBsmartd\fP
484
 
will try to open all existing ATA devices (with entries in /dev)
485
 
.B /dev/ad[0-9]+
486
 
and all existing SCSI devices (using CAM subsystem).  
487
 
Under NetBSD/OpenBSD, 
488
 
\fBsmartd\fP
489
 
will try to open all existing ATA devices (with entries in /dev)
490
 
.B /dev/wd[0-9]+c
491
 
and all existing SCSI devices
492
 
.B /dev/sd[0-9]+c.
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.
501
 
 
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
506
 
be opened.
507
 
 
508
 
One can avoid this problem, and gain more control over the types of
509
 
events monitored by
510
 
\fBsmartd\fP,
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
515
 
.B smartmontools
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
519
 
follows:
520
 
.IP \(bu 4
521
 
There should be one device listed per line, although you may have
522
 
lines that are entirely comments or white space.
523
 
.IP \(bu 4
524
 
Any text following a hash sign \'#\' and up to the end of the line is
525
 
taken to be a comment, and ignored.
526
 
.IP \(bu 4
527
 
Lines may be continued by using a backslash \'\e\' as the last
528
 
non-whitespace or non-comment item on a line.
529
 
.IP \(bu 4
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.
533
 
.PP 0
534
 
.fi
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
537
 
of the
538
 
.B DIRECTIVES
539
 
Section below!
540
 
 
541
 
.nf
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.
553
 
.B #
554
 
.nf
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.
558
 
.B #
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
561
 
.B #
562
 
.nf
563
 
.B # SCSI disks.  Send a TEST warning email to admin on
564
 
.B # startup.
565
 
.B #
566
 
.B \ \ /dev/sda
567
 
.B \ \ /dev/sdb -m admin@example.com -M test
568
 
.B #
569
 
.nf
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
573
 
.B #
574
 
.nf
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
580
 
.B # environments.
581
 
.B \ \ /dev/sda -a -d sat
582
 
.B #
583
 
.nf
584
 
.B # Three disks connected to a MegaRAID controller
585
 
.B # Start short self-tests daily between 1-2, 2-3, and
586
 
.B # 3-4 am.
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
590
 
.B
591
 
.B #
592
 
.nf
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
603
 
.B #
604
 
.nf
605
 
.B # Two ATA disks on a 3ware 9000 controller.
606
 
.B # Start long self-tests Sundays between midnight and
607
 
.B # 1am and 2-3 am
608
 
.B \ \ /dev/twa0 -d 3ware,0 -a -s L/../../7/00
609
 
.B \ \ /dev/twa0 -d 3ware,1 -a -s L/../../7/02
610
 
.B #
611
 
.nf
612
 
.B # Two SATA (not SAS) disks on a 3ware 9750 controller.
613
 
.B # Start long self-tests Sundays between midnight and
614
 
.B # 1am and 2-3 am
615
 
.B \ \ /dev/twl0 -d 3ware,0 -a -s L/../../7/00
616
 
.B \ \ /dev/twl0 -d 3ware,1 -a -s L/../../7/02
617
 
.B #
618
 
.nf
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
624
 
.B #
625
 
.nf
626
 
.B # Three SATA disks on a HighPoint RocketRAID controller.
627
 
.B # Start short self-tests daily between 1-2, 2-3, and
628
 
.B # 3-4 am.
629
 
.B # under Linux
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
637
 
.B #
638
 
.nf
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.
642
 
.B # under Linux
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
648
 
.B #
649
 
.nf
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
656
 
.B #
657
 
.nf
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:
663
 
.B #
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
670
 
.B #
671
 
.B ################################################
672
 
.fi
673
 
 
674
 
.PP 
675
 
.SH CONFIGURATION FILE DIRECTIVES
676
 
.PP
677
 
 
678
 
If a non-comment entry in the configuration file is the text string
679
 
.B DEVICESCAN
680
 
in capital letters, then
681
 
\fBsmartd\fP
682
 
will ignore any remaining lines in the configuration file, and will
683
 
scan for devices.
684
 
.B DEVICESCAN
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
687
 
details.
688
 
 
689
 
.sp 2
690
 
The following are the Directives that may appear following the device
691
 
name or
692
 
.B DEVICESCAN
693
 
on any line of the
694
 
.B /usr/local/etc/smartd.conf
695
 
configuration file. Note that
696
 
.B these are NOT command-line options for 
697
 
\fBsmartd\fP.
698
 
The Directives below may appear in any order, following the device
699
 
name. 
700
 
 
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.
704
 
 
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.
713
 
 
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).
720
 
 
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
728
 
for further details.
729
 
.TP
730
 
.B \-d TYPE
731
 
Specifies the type of the device.
732
 
The valid arguments to this directive are:
733
 
 
734
 
.I auto
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.
738
 
This is the default.
739
 
 
740
 
.I ata
741
 
\- the device type is ATA.  This prevents
742
 
\fBsmartd\fP
743
 
from issuing SCSI commands to an ATA device.
744
 
 
745
 
.I scsi
746
 
\- the device type is SCSI.  This prevents
747
 
\fBsmartd\fP
748
 
from issuing ATA commands to a SCSI device.
749
 
 
750
 
.I sat
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\'.
757
 
 
758
 
.I usbcypress
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.
764
 
 
765
 
.I usbjmicron
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.
779
 
 
780
 
.I usbsunplus
781
 
\- this device type is for SATA disks that are behind a SunplusIT USB to SATA
782
 
bridge.
783
 
 
784
 
.I marvell
785
 
\- [Linux only] interact with SATA disks behind Marvell chip-set
786
 
controllers (using the Marvell rather than libata driver).
787
 
 
788
 
.I megaraid,N
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.
796
 
 
797
 
.I 3ware,N
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
801
 
is monitored.
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.
804
 
 
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.
810
 
 
811
 
.I areca,N
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.
818
 
 
819
 
.I cciss,N
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.
826
 
 
827
 
.I hpt,L/M/N
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.
839
 
 
840
 
.I removable
841
 
\- the device or its media is removable.  This indicates to
842
 
\fBsmartd\fP
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.
847
 
.TP
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.
851
 
 
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.
860
 
 
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.
866
 
 
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
871
 
are:
872
 
 
873
 
.I never
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.
878
 
 
879
 
.I sleep
880
 
\- check the device unless it is in SLEEP mode.
881
 
 
882
 
.I standby
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.
887
 
 
888
 
.I idle
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
891
 
not what you want.
892
 
 
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.
897
 
 
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.
902
 
 
903
 
Both \',N\' and \',q\' can be specified together.
904
 
.TP
905
 
.B \-T TYPE
906
 
Specifies how tolerant
907
 
\fBsmartd\fP
908
 
should be of SMART command failures.  The valid arguments to this
909
 
Directive are:
910
 
 
911
 
.I normal
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.
914
 
 
915
 
.I permissive
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
922
 
self\-test logging.
923
 
 
924
 
[Please see the \fBsmartctl \-T\fP command-line option.]
925
 
.TP
926
 
.B \-o VALUE
927
 
[ATA only] Enables or disables SMART Automatic Offline Testing when
928
 
\fBsmartd\fP
929
 
starts up and has no further effect.  The valid arguments to this
930
 
Directive are \fIon\fP and \fIoff\fP.
931
 
 
932
 
The delay between tests is vendor-specific, but is typically four
933
 
hours.
934
 
 
935
 
Note that SMART Automatic Offline Testing is \fBnot\fP part of the ATA
936
 
Specification.  Please see the
937
 
.B smartctl \-o
938
 
command-line option documentation for further information about this
939
 
feature.
940
 
.TP
941
 
.B \-S VALUE
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.]
946
 
.TP
947
 
.B \-H
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
951
 
.B \'LOG_CRIT\'
952
 
will be logged to syslog.  [Please see the
953
 
.B smartctl \-H
954
 
command-line option.]
955
 
.TP
956
 
.B \-l TYPE
957
 
Reports increases in the number of errors in one of three SMART logs.  The
958
 
valid arguments to this Directive are:
959
 
 
960
 
.I error
961
 
\- [ATA only] report if the number of ATA errors reported in the Summary SMART
962
 
error log has increased since the last check.
963
 
 
964
 
.I xerror
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.
968
 
 
969
 
If both \'\-l error\' and \'\-l xerror\' are specified, smartd checks
970
 
the maximum of both values.
971
 
 
972
 
[Please see the \fBsmartctl \-l xerror\fP command-line option.]
973
 
 
974
 
.I selftest
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
984
 
command-line option.
985
 
[Please see the \fBsmartctl \-l\fP and \fB\-t\fP command-line
986
 
options.]
987
 
 
988
 
[ATA only] Failed self-tests outdated by a newer successful extended
989
 
self\-test are ignored.
990
 
 
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
997
 
70,70 deciseconds.
998
 
[Please see the \fBsmartctl \-l scterc\fP command-line option.]
999
 
 
1000
 
.TP
1001
 
.B \-s REGEXP
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:
1006
 
.RS 7
1007
 
.IP \fBT\fP 4
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.
1014
 
 
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
1020
 
further info.
1021
 
 
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.
1026
 
 
1027
 
.IP \fBMM\fP 4
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!
1031
 
.IP \fBDD\fP 4
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!
1035
 
.IP \fBd\fP 4
1036
 
is the day of the week, expressed with one decimal digit.  The
1037
 
range is from 1 (Monday) to 7 (Sunday) inclusive.
1038
 
.IP \fBHH\fP 4
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!
1043
 
.RE
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.
1046
 
.TP
1047
 
.B \&
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.
1052
 
 
1053
 
To schedule a short Self-Test between 2-3am every morning, use:
1054
 
.nf
1055
 
\fB \-s S/../.././02\fP
1056
 
.fi
1057
 
To schedule a long Self-Test between 4-5am every Sunday morning, use:
1058
 
.nf
1059
 
\fB \-s L/../../7/04\fP
1060
 
.fi
1061
 
To schedule a long Self-Test between 10-11pm on the first and
1062
 
fifteenth day of each month, use:
1063
 
.nf
1064
 
\fB \-s L/../(01|15)/./22\fP
1065
 
.fi
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:
1069
 
.nf
1070
 
\fB \-s (O/../.././(00|06|12|18)|S/../.././01|L/../../6/03)\fP
1071
 
.fi
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:
1076
 
.nf
1077
 
  smartctl -t select,0-99999999 /dev/sda
1078
 
.fi
1079
 
To run the next test spans on Monday-Friday between 12-13am, run smartd
1080
 
with this directive:
1081
 
.nf
1082
 
\fB \-s n/../../[1-5]/12\fP
1083
 
.fi
1084
 
 
1085
 
 
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.
1094
 
 
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.
1099
 
 
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.
1102
 
 
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).
1106
 
 
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.
1113
 
 
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.
1119
 
 
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.
1123
 
 
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
1129
 
mistake.
1130
 
.TP
1131
 
.B \-m ADD
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).
1137
 
 
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.]
1144
 
 
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
1147
 
(with no spaces).
1148
 
 
1149
 
To test that email is being sent correctly, use the \'\-M test\'
1150
 
Directive described below to send one test email message on
1151
 
\fBsmartd\fP
1152
 
startup.
1153
 
 
1154
 
By default, email is sent using the system 
1155
 
.B mail
1156
 
command.  In order that
1157
 
\fBsmartd\fP
1158
 
find the mail command (normally /bin/mail) an executable named
1159
 
.B \'mail\'
1160
 
must be in the path of the shell or environment from which
1161
 
\fBsmartd\fP
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.
1165
 
 
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
1169
 
argument.
1170
 
 
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
1174
 
\'\-M exec\' below.
1175
 
 
1176
 
Note also that there is a special argument
1177
 
.B <nomailer>
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.
1180
 
 
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
1187
 
below.
1188
 
 
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.
1197
 
.TP
1198
 
.B \-M TYPE
1199
 
These Directives modify the behavior of the
1200
 
\fBsmartd\fP
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.
1204
 
 
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.
1208
 
 
1209
 
The valid arguments to the \-M Directive are (one of the following
1210
 
three):
1211
 
 
1212
 
.I once
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.
1215
 
 
1216
 
.I daily
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.
1220
 
 
1221
 
.I diminishing
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
1225
 
previous interval.
1226
 
 
1227
 
In addition, one may add zero or more of the following Directives:
1228
 
 
1229
 
.I test
1230
 
\- send a single test email
1231
 
immediately upon
1232
 
\fBsmartd\fP
1233
 
startup.  This allows one to verify that email is delivered correctly.
1234
 
Note that if this Directive is used,
1235
 
\fBsmartd\fP
1236
 
will also send the normal email warnings that were enabled with the \'\-m\' Directive,
1237
 
in addition to the single test email!
1238
 
 
1239
 
.I exec PATH
1240
 
\- run the executable PATH instead of the default mail command, when
1241
 
\fBsmartd\fP
1242
 
needs to send email.  PATH must point to an executable binary file or
1243
 
script.
1244
 
 
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/.
1253
 
 
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.
1261
 
 
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:
1266
 
.RS 7
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
1274
 
\'auto\' if none.
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:
1287
 
.nf
1288
 
.fi
1289
 
\fIEmailTest\fP: this is an email test message.
1290
 
.nf
1291
 
.fi
1292
 
\fIHealth\fP: the SMART health status indicates imminent failure.
1293
 
.nf
1294
 
.fi
1295
 
\fIUsage\fP: a usage Attribute has failed.
1296
 
.nf
1297
 
.fi
1298
 
\fISelfTest\fP: the number of self-test failures has increased.
1299
 
.nf
1300
 
.fi
1301
 
\fIErrorCount\fP: the number of errors in the ATA error log has increased.
1302
 
.nf
1303
 
.fi
1304
 
\fICurrentPendingSector\fP: one of more disk sectors could not be
1305
 
read and are marked to be reallocated (replaced with spare sectors).
1306
 
.nf
1307
 
.fi
1308
 
\fIOfflineUncorrectableSector\fP: during off\-line testing, or self\-testing,
1309
 
one or more disk sectors could not be read.
1310
 
.nf
1311
 
.fi
1312
 
\fITemperature\fP: Temperature reached critical limit (see \-W directive).
1313
 
.nf
1314
 
.fi
1315
 
\fIFailedHealthCheck\fP: the SMART health status command failed.
1316
 
.nf
1317
 
.fi
1318
 
\fIFailedReadSmartData\fP: the command to read SMART Attribute data failed.
1319
 
.nf
1320
 
.fi
1321
 
\fIFailedReadSmartErrorLog\fP: the command to read the SMART error log failed.
1322
 
.nf
1323
 
.fi
1324
 
\fIFailedReadSmartSelfTestLog\fP: the command to read the SMART self-test log failed.
1325
 
.nf
1326
 
.fi
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
1336
 
double quotes.
1337
 
.IP \fBSMARTD_MESSAGE\fP 4
1338
 
is set to the one sentence summary warning email message string from
1339
 
\fBsmartd\fP. 
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
1342
 
double quotes.
1343
 
.IP \fBSMARTD_FULLMESSAGE\fP 4
1344
 
is set to the contents of the entire email warning message string from
1345
 
\fBsmartd\fP. 
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
1348
 
double quotes.
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:
1353
 
.nf
1354
 
.fi
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.
1359
 
.RE
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.
1362
 
.TP
1363
 
.B \&
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.
1367
 
 
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:
1372
 
.nf
1373
 
-s "$SMARTD_SUBJECT" $SMARTD_ADDRESS
1374
 
.fi
1375
 
that would normally be provided to \'mail\'.  Examples include:
1376
 
.nf
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
1380
 
.fi
1381
 
 
1382
 
Note that on Windows, the syntax of the \'\fBBlat\fP\' mailer is
1383
 
used:
1384
 
.nf
1385
 
- -q -subject "$SMARTD_SUBJECT" -to "$SMARTD_ADDRESS"
1386
 
.fi
1387
 
 
1388
 
If the \'\-m ADD\' Directive is given with the special address argument
1389
 
.B <nomailer>
1390
 
then the executable pointed to by PATH is run in a shell with
1391
 
.B no
1392
 
STDIN and
1393
 
.B no
1394
 
command-line arguments, for example:
1395
 
.nf
1396
 
.B -m <nomailer> -M exec /Example_2/bash/script/below
1397
 
.fi
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
1401
 
discarded.
1402
 
 
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/.
1406
 
.TP
1407
 
.B \-f
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.]
1413
 
.TP
1414
 
.B \-p
1415
 
[ATA only] Report anytime that a Prefail Attribute has changed
1416
 
its value since the last check, 30 minutes ago. [Please see the
1417
 
.B smartctl \-A
1418
 
command-line option.]
1419
 
.TP
1420
 
.B \-u
1421
 
[ATA only] Report anytime that a Usage Attribute has changed its value
1422
 
since the last check, 30 minutes ago. [Please see the
1423
 
.B smartctl \-A
1424
 
command-line option.]
1425
 
.TP
1426
 
.B \-t
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.]
1430
 
.TP
1431
 
.B \-i ID
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.
1436
 
 
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.
1441
 
.TP
1442
 
.B \-I ID
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
1447
 
of them.
1448
 
 
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.
1453
 
.TP
1454
 
.B \-r ID[!]
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
1460
 
multiple times.
1461
 
 
1462
 
A common use of this Directive is to track the device Temperature
1463
 
(often ID=194 or 231).
1464
 
 
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.
1468
 
.TP
1469
 
.B \-R ID[!]
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
1476
 
multiple times.
1477
 
 
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.
1481
 
 
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
1485
 
Attributes.
1486
 
 
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.
1491
 
.TP
1492
 
.B \-C ID[+]
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
1501
 
\fB\-C 0\fP.
1502
 
 
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.
1507
 
 
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.
1519
 
.TP
1520
 
.B \-U ID[+]
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.
1530
 
 
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.
1535
 
 
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.
1541
 
.TP
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.
1551
 
 
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.
1556
 
 
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\').
1560
 
 
1561
 
To track temperature changes of at least 2 degrees, use:
1562
 
.nf
1563
 
\fB \-W 2
1564
 
.fi
1565
 
To log informal messages on temperatures of at least 40 degrees, use:
1566
 
.nf
1567
 
\fB \-W 0,40
1568
 
.fi
1569
 
For warning messages/mails on temperatures of at least 45 degrees, use:
1570
 
.nf
1571
 
\fB \-W 0,0,45
1572
 
.fi
1573
 
To combine all of the above reports, use:
1574
 
.nf
1575
 
\fB \-W 2,40,45
1576
 
.fi
1577
 
 
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.
1581
 
.TP
1582
 
.B \-F TYPE
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:
1587
 
 
1588
 
.I none
1589
 
\- Assume that the device firmware obeys the ATA specifications.  This
1590
 
is the default, unless the device has presets for \'\-F\' in the
1591
 
device database.
1592
 
 
1593
 
.I samsung
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.
1602
 
 
1603
 
.I samsung2
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.
1607
 
 
1608
 
.I samsung3
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.
1613
 
 
1614
 
Note that an explicit \'\-F\' Directive will over\-ride any preset
1615
 
values for \'\-F\' (see the \'\-P\' option below).
1616
 
 
1617
 
 
1618
 
[Please see the \fBsmartctl \-F\fP command-line option.]
1619
 
.TP
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.
1625
 
 
1626
 
The following arguments affect smartd warning output:
1627
 
 
1628
 
.I 197,increasing
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.
1632
 
 
1633
 
.I 198,increasing
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.
1637
 
.TP
1638
 
.B \-P TYPE
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:
1642
 
 
1643
 
.I use
1644
 
\- use any presets that are available for this drive.  This is the default.
1645
 
 
1646
 
.I ignore
1647
 
\- do not use any presets for this drive.
1648
 
 
1649
 
.I show
1650
 
\- show the presets listed for this drive in the database.
1651
 
 
1652
 
.I showall
1653
 
\- show the presets that are available for all drives and then exit.
1654
 
 
1655
 
[Please see the
1656
 
.B smartctl \-P
1657
 
command-line option.]
1658
 
.TP
1659
 
.B \-a
1660
 
Equivalent to turning on all of the following Directives: 
1661
 
.B \'\-H\' 
1662
 
to check the SMART health status,
1663
 
.B \'\-f\' 
1664
 
to report failures of Usage (rather than Prefail) Attributes,
1665
 
.B \'\-t\' 
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,
1669
 
.B \'\-l\ error\' 
1670
 
to report increases in the number of ATA errors,
1671
 
.B \'\-C 197\'
1672
 
to report nonzero values of the current pending sector count, and
1673
 
.B \'\-U 198\'
1674
 
to report nonzero values of the offline pending sector count.
1675
 
 
1676
 
Note that \-a is the default for ATA devices.  If none of these other
1677
 
Directives is given, then \-a is assumed.
1678
 
.TP
1679
 
.B #
1680
 
Comment: ignore the remainder of the line.
1681
 
.TP
1682
 
.B \e
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
1685
 
one.
1686
 
.PP
1687
 
If you are not sure which Directives to use, I suggest experimenting
1688
 
for a few minutes with
1689
 
.B smartctl
1690
 
to see what SMART functionality your disk(s) support(s).  If you do
1691
 
not like voluminous syslog messages, a good choice of
1692
 
\fBsmartd\fP
1693
 
configuration file Directives might be:
1694
 
.nf
1695
 
.B \-H \-l\ selftest \-l\ error \-f.
1696
 
.fi
1697
 
If you want more frequent information, use:
1698
 
.B -a.
1699
 
 
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).
1703
 
 
1704
 
.TP
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
1709
 
for devices.
1710
 
 
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.
1714
 
 
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.
1718
 
 
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
1721
 
example
1722
 
.nf
1723
 
.B DEVICESCAN -m root@example.com
1724
 
.fi
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.
1727
 
.nf
1728
 
.B  DEVICESCAN -d ata -m root@example.com
1729
 
.fi
1730
 
will do the same, but restricts the scan to ATA devices only.  
1731
 
.nf
1732
 
.B  DEVICESCAN -H -d ata -m root@example.com
1733
 
.fi
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
1736
 
properties).
1737
 
 
1738
 
.TP
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\'
1743
 
Directive.
1744
 
 
1745
 
Example 1: This script is for use with \'\-m ADDRESS -M exec PATH\'.  It appends
1746
 
the output of
1747
 
.B smartctl -a
1748
 
to the output of the smartd email warning message and sends it to ADDRESS.
1749
 
 
1750
 
.nf
1751
 
\fB
1752
 
#! /bin/bash
1753
 
 
1754
 
# Save the email message (STDIN) to a file:
1755
 
cat > /root/msg
1756
 
 
1757
 
# Append the output of smartctl -a to the message:
1758
 
/usr/local/sbin/smartctl -a -d $SMART_DEVICETYPE $SMARTD_DEVICE >> /root/msg
1759
 
 
1760
 
# Now email the message to the user at address ADD:
1761
 
/bin/mail -s "$SMARTD_SUBJECT" $SMARTD_ADDRESS < /root/msg
1762
 
\fP
1763
 
.fi
1764
 
 
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.
1768
 
 
1769
 
.nf
1770
 
\fB
1771
 
#! /bin/bash
1772
 
 
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... \'
1777
 
 
1778
 
# Wait half a minute
1779
 
sleep 30
1780
 
 
1781
 
# Power down the machine
1782
 
/sbin/shutdown -hf now
1783
 
\fP
1784
 
.fi
1785
 
 
1786
 
Some example scripts are distributed with the smartmontools package,
1787
 
in /usr/local/share/doc/smartmontools/examplescripts/.
1788
 
 
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.
1793
 
 
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.
1798
 
 
1799
 
.\" ENDINCLUDE
1800
 
.\" DO NOT MODIFY THIS OR PREVIOUS/NEXT LINES. THIS DEFINES THE 
1801
 
.\" END OF THE INCLUDE SECTION FOR smartd.conf.5
1802
 
 
1803
 
.SH NOTES
1804
 
\fBsmartd\fP
1805
 
will make log entries at loglevel 
1806
 
.B LOG_INFO
1807
 
if the Normalized SMART Attribute values have changed, as reported using the
1808
 
.B \'\-t\', \'\-p\',
1809
 
or
1810
 
.B \'\-u\'
1811
 
Directives. For example:
1812
 
.nf
1813
 
.B \'Device: /dev/hda, SMART Attribute: 194 Temperature_Celsius changed from 94 to 93\'
1814
 
.fi
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
1817
 
Celsius).  The 
1818
 
.B \'-R\'
1819
 
and 
1820
 
.B \'-r\'
1821
 
Directives modify this behavior, so that the information is printed
1822
 
with the Raw values as well, for example:
1823
 
.nf
1824
 
.B \'Device: /dev/hda, SMART Attribute: 194 Temperature_Celsius changed from 94 [Raw 22] to 93 [Raw 23]\'
1825
 
.fi
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.
1831
 
 
1832
 
Please see the
1833
 
.B smartctl
1834
 
manual page for further explanation of the differences between
1835
 
Normalized and Raw Attribute values.
1836
 
 
1837
 
\fBsmartd\fP
1838
 
will make log entries at loglevel
1839
 
.B LOG_CRIT
1840
 
if a SMART Attribute has failed, for example:
1841
 
.nf
1842
 
.B \'Device: /dev/hdc, Failed SMART Attribute: 5 Reallocated_Sector_Ct\'
1843
 
.fi
1844
 
 This loglevel is used for reporting enabled by the
1845
 
.B \'\-H\', \-f\', \'\-l\ selftest\',
1846
 
and
1847
 
.B \'\-l\ error\'
1848
 
Directives. Entries reporting failure of SMART Prefailure Attributes
1849
 
should not be ignored: they mean that the disk is failing.  Use the
1850
 
.B smartctl
1851
 
utility to investigate. 
1852
 
 
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
1858
 
from:
1859
 
.nf
1860
 
       ...;daemon.notice;...        /var/adm/messages
1861
 
.fi
1862
 
to read:
1863
 
.nf
1864
 
       ...;daemon.info;...          /var/adm/messages
1865
 
.fi
1866
 
Alternatively, you can use a local facility to log messages: please
1867
 
see the \fBsmartd\fP '-l' command-line option described above.
1868
 
 
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
1871
 
details.
1872
 
 
1873
 
On Windows, the following built-in commands can be used to control
1874
 
\fBsmartd\fP, if running as a daemon:
1875
 
 
1876
 
\'\fBsmartd status\fP\' \- check status
1877
 
 
1878
 
\'\fBsmartd stop\fP\' \- stop smartd
1879
 
 
1880
 
\'\fBsmartd reload\fP\' \- reread config file
1881
 
 
1882
 
\'\fBsmartd restart\fP\' \- restart smartd
1883
 
 
1884
 
\'\fBsmartd sigusr1\fP\' \- check disks now
1885
 
 
1886
 
\'\fBsmartd sigusr2\fP\' \- toggle debug mode
1887
 
 
1888
 
On WinNT4/2000/XP, \fBsmartd\fP can also be run as a Windows service:
1889
 
 
1890
 
 
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:
1894
 
.nf
1895
 
.B /usr/local/etc/rc.d/init.d/smartd install [options]
1896
 
.B /usr/local/etc/rc.d/init.d/smartd remove
1897
 
.fi
1898
 
The service can be started and stopped by the start-up script as usual
1899
 
(see \fBEXAMPLES\fP above).
1900
 
 
1901
 
 
1902
 
The Windows Version of \fBsmartd\fP has buildin support for services:
1903
 
 
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]\'.
1907
 
 
1908
 
\'\fBsmartd remove\fP\' can later be used to remove the service entry
1909
 
from registry.
1910
 
 
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.
1914
 
 
1915
 
The debug mode (\'-d\', \'-q onecheck\') does not work if smartd is
1916
 
running as service.
1917
 
 
1918
 
The service can be controlled as usual with Windows commands \'net\'
1919
 
or \'sc\' (\'\fBnet start smartd\fP\', \'\fBnet stop smartd\fP\').
1920
 
 
1921
 
Pausing the service (\'\fBnet pause smartd\fP\') sets the interval between
1922
 
disk checks (\'-i N\') to infinite.
1923
 
 
1924
 
Continuing the paused service (\'\fBnet continue smartd\fP\') resets the
1925
 
interval and rereads the configuration file immediately (like \fBSIGHUP\fP):
1926
 
 
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).
1930
 
 
1931
 
.SH LOG TIMESTAMP TIMEZONE
1932
 
 
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
1944
 
points to).
1945
 
 
1946
 
 
1947
 
.SH RETURN VALUES
1948
 
The return value (exit status) of 
1949
 
\fBsmartd\fP
1950
 
can have the following values:
1951
 
.TP
1952
 
.B 0:
1953
 
Daemon startup successful, or \fBsmartd\fP was killed by a SIGTERM (or in debug mode, a SIGQUIT).
1954
 
.TP
1955
 
.B 1:
1956
 
Commandline did not parse.
1957
 
.TP
1958
 
.B 2:
1959
 
There was a syntax error in the config file.
1960
 
.TP
1961
 
.B 3:
1962
 
Forking the daemon failed.
1963
 
.TP
1964
 
.B 4:
1965
 
Couldn\'t create PID file.
1966
 
.TP
1967
 
.B 5:
1968
 
Config file does not exist (only returned in conjunction with the \'-c\' option).
1969
 
.TP
1970
 
.B 6:
1971
 
Config file exists, but cannot be read.
1972
 
.TP
1973
 
.B 8:
1974
 
\fBsmartd\fP
1975
 
ran out of memory during startup.
1976
 
.TP
1977
 
.B 9:
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.
1981
 
.TP
1982
 
.B 10
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.
1987
 
.TP
1988
 
.B 16:
1989
 
A device explicitly listed in
1990
 
.B /usr/local/etc/smartd.conf
1991
 
can\'t be monitored.
1992
 
.TP
1993
 
.B 17:
1994
 
\fBsmartd\fP
1995
 
didn\'t find any devices to monitor.
1996
 
.TP
1997
 
.B 254:
1998
 
When in daemon mode,
1999
 
\fBsmartd\fP
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.
2004
 
.TP
2005
 
.B 132 and above
2006
 
\fBsmartd\fP
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
2009
 
\fBsmartd\fP
2010
 
is killed by SIGKILL (signal 9) then the exit status is 137.
2011
 
 
2012
 
.PP
2013
 
.SH AUTHOR
2014
 
\fBBruce Allen\fP smartmontools\-support@lists.sourceforge.net
2015
 
.fi
2016
 
University of Wisconsin \- Milwaukee Physics Department
2017
 
 
2018
 
.PP
2019
 
.SH CONTRIBUTORS
2020
 
The following have made large contributions to smartmontools:
2021
 
.nf
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)
2036
 
.fi
2037
 
Many other individuals have made smaller contributions and corrections.
2038
 
 
2039
 
.PP
2040
 
.SH CREDITS
2041
 
.fi
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 .
2049
 
.SH
2050
 
HOME PAGE FOR SMARTMONTOOLS: 
2051
 
.fi
2052
 
Please see the following web site for updates, further documentation, bug
2053
 
reports and patches: \fBhttp://smartmontools.sourceforge.net/\fP
2054
 
 
2055
 
.SH
2056
 
SEE ALSO:
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).
2059
 
 
2060
 
.SH
2061
 
REFERENCES FOR SMART
2062
 
.fi
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
2066
 
online.
2067
 
 
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 .
2075
 
 
2076
 
.fi
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.
2080
 
 
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 .
2084
 
 
2085
 
.SH
2086
 
SVN ID OF THIS PAGE:
2087
 
$Id: smartd.8.in 3284 2011-03-04 21:33:35Z chrfranke $