]> git.proxmox.com Git - mirror_smartmontools-debian.git/blame - smartd.8.in
Correct maintscript syntax
[mirror_smartmontools-debian.git] / smartd.8.in
CommitLineData
832b75ed 1.ig
e9583e0c 2Copyright (C) 2002-10 Bruce Allen <smartmontools-support@lists.sourceforge.net>
d2e702cf 3Copyright (C) 2004-14 Christian Franke <smartmontools-support@lists.sourceforge.net>
ee38a438 4
d2e702cf 5$Id: smartd.8.in 3965 2014-07-20 14:46:41Z chrfranke $
832b75ed
GG
6
7This program is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 2, or (at your option)
10any later version.
ee38a438
GI
11
12You should have received a copy of the GNU General Public License
13(for example COPYING); If not, see <http://www.gnu.org/licenses/>.
14
15This code was originally developed as a Senior Thesis by Michael Cornwell
16at the Concurrent Systems Laboratory (now part of the Storage Systems
17Research Center), Jack Baskin School of Engineering, University of
18California, Santa Cruz. http://ssrc.soe.ucsc.edu/
19
832b75ed 20..
e9583e0c 21.TH SMARTD 8 CURRENT_SVN_DATE CURRENT_SVN_VERSION CURRENT_SVN_DATE
832b75ed
GG
22.SH NAME
23\fBsmartd\fP \- SMART Disk Monitoring Daemon
24
25.SH SYNOPSIS
26.B smartd [options]
27
832b75ed 28.SH PACKAGE VERSION
e9583e0c 29CURRENT_SVN_VERSION CURRENT_SVN_DATE CURRENT_SVN_REV
832b75ed
GG
30
31.SH DESCRIPTION
d008864d
GI
32.\" %IF NOT OS ALL
33.\"! [This man page is generated for the OS_MAN_FILTER version of smartmontools.
34.\"! It does not contain info specific to other platforms.]
35.\"! .PP
36.\" %ENDIF NOT OS ALL
ee38a438
GI
37\fBsmartd\fP is a daemon that monitors the Self-Monitoring, Analysis and
38Reporting Technology (SMART) system built into most ATA/SATA and SCSI/SAS
39hard drives and solid-state drives.
40The purpose of SMART is to monitor the reliability of the hard drive
41and predict drive failures, and to carry out different types of drive
42self-tests.
43This version of \fBsmartd\fP is compatible with
d2e702cf 44ACS-3, ACS-2, ATA8-ACS, ATA/ATAPI-7 and earlier standards
ee38a438 45(see \fBREFERENCES\fP below).
832b75ed
GG
46
47\fBsmartd\fP will attempt to enable SMART monitoring on ATA devices
48(equivalent to \fBsmartctl -s on\fP) and polls these and SCSI devices
49every 30 minutes (configurable), logging SMART errors and changes of
50SMART Attributes via the SYSLOG interface. The default location for
e9583e0c
GI
51these SYSLOG notifications and warnings is system-dependent
52(typically \fB/var/log/messages\fP or \fB/var/log/syslog\fP).
832b75ed
GG
53To change this default location, please see the \fB\'-l\'\fP
54command-line option described below.
55
56In addition to logging to a file, \fBsmartd\fP can also be configured
57to send email warnings if problems are detected. Depending upon the
ee38a438 58type of problem, you may want to run self-tests on the disk, back up
832b75ed
GG
59the disk, replace the disk, or use a manufacturer\'s utility to force
60reallocation of bad or unreadable disk sectors. If disk problems are
61detected, please see the \fBsmartctl\fP manual page and the
62\fBsmartmontools\fP web page/FAQ for further guidance.
63
64If you send a \fBUSR1\fP signal to \fBsmartd\fP it will immediately
65check the status of the disks, and then return to polling the disks
66every 30 minutes. See the \fB\'\-i\'\fP option below for additional
67details.
68
69\fBsmartd\fP can be configured at start-up using the configuration
e9583e0c 70file \fB/usr/local/etc/smartd.conf\fP (Windows: \fBEXEDIR/smartd.conf\fP).
832b75ed
GG
71If the configuration file is subsequently modified, \fBsmartd\fP
72can be told to re-read the configuration file by sending it a
73\fBHUP\fP signal, for example with the command:
d2e702cf 74.br
832b75ed 75\fBkillall -HUP smartd\fP.
d2e702cf 76.br
d008864d 77.\" %IF OS Windows
832b75ed 78(Windows: See NOTES below.)
d008864d 79.\" %ENDIF OS Windows
832b75ed
GG
80
81On startup, if \fBsmartd\fP finds a syntax error in the configuration
82file, it will print an error message and then exit. However if
83\fBsmartd\fP is already running, then is told with a \fBHUP\fP signal
84to re-read the configuration file, and then find a syntax error in
85this file, it will print an error message and then continue, ignoring
86the contents of the (faulty) configuration file, as if the \fBHUP\fP
87signal had never been received.
88
89When \fBsmartd\fP is running in debug mode, the \fBINT\fP signal
ee38a438 90(normally generated from a shell with CONTROL-C) is treated in the
832b75ed
GG
91same way as a \fBHUP\fP signal: it makes \fBsmartd\fP reload its
92configuration file. To exit \fBsmartd\fP use CONTROL-\e
d008864d 93.\" %IF OS Windows
ee38a438 94(Windows: CONTROL-Break).
d008864d 95.\" %ENDIF OS Windows
832b75ed
GG
96
97On startup, in the absence of the configuration file
98\fB/usr/local/etc/smartd.conf\fP, the \fBsmartd\fP daemon first scans for all
99devices that support SMART. The scanning is done as follows:
d008864d 100.\" %IF OS Linux
832b75ed
GG
101.IP \fBLINUX:\fP 9
102Examine all entries \fB"/dev/hd[a-t]"\fP for IDE/ATA
7f0798ef
GI
103devices, and \fB"/dev/sd[a-z]"\fP, \fB"/dev/sd[a-c][a-z]"\fP
104for SCSI or SATA devices.
ee38a438 105Disks behind RAID controllers are not included.
d008864d
GI
106.\" %ENDIF OS Linux
107.\" %IF OS FreeBSD
832b75ed 108.IP \fBFREEBSD:\fP 9
eb07ddf2 109Authoritative list of disk devices is obtained from SCSI (CAM) and ATA subsystems.
ee38a438 110Disks behind RAID controllers are not included.
d008864d
GI
111.\" %ENDIF OS FreeBSD
112.\" %IF OS NetBSD OpenBSD
832b75ed
GG
113.IP \fBNETBSD/OPENBSD:\fP 9
114Authoritative list of disk devices is obtained from sysctl
115\'hw.disknames\'.
d008864d
GI
116.\" %ENDIF OS NetBSD OpenBSD
117.\" %IF OS Solaris
832b75ed 118.IP \fBSOLARIS:\fP 9
f4e463df 119Examine all entries \fB"/dev/rdsk/*s0"\fP for IDE/ATA and SCSI disk
832b75ed 120devices, and entries \fB"/dev/rmt/*"\fP for SCSI tape devices.
d008864d
GI
121.\" %ENDIF OS Solaris
122.\" %IF OS Darwin
832b75ed
GG
123.IP \fBDARWIN:\fP 9
124The IOService plane is scanned for ATA block storage devices.
d008864d 125.\" %ENDIF OS Darwin
d008864d 126.\" %IF OS Windows Cygwin
ee38a438
GI
127.IP \fBWINDOWS\fP: 9
128Examine all entries \fB"/dev/sd[a\-z]"\fP, \fB"/dev/sd[a\-c][a\-z]"\fP
129and \fB"/dev/sdd[a\-x]"\fP ("\\\\.\\PhysicalDrive[0\-127]") for
130IDE/(S)ATA and SCSI disk devices.
a37e7145 131
4d59bff9 132If a 3ware 9000 controller is installed, examine all entries
a37e7145
GG
133\fB"/dev/sdX,N"\fP for the first logical drive (\'unit\'
134\fB"/dev/sdX"\fP) and all physical disks (\'ports\' \fB",N"\fP)
4d59bff9 135detected behind this controller. Same for a second controller if present.
cfbba5b9 136
f4e463df
GI
137If directive \'\-d csmi\' or no \'\-d\' directive is specified,
138examine all entries \fB"/dev/csmi[0\-9],N"\fP for drives behind an Intel
139ICHxR controller with RST driver.
ee38a438
GI
140
141Disks behind Areca RAID controllers are not included.
d008864d 142.\" %ENDIF OS Windows Cygwin
832b75ed
GG
143.PP
144\fBsmartd\fP then monitors
145for \fIall\fP possible SMART errors (corresponding to the \fB\'\-a\'\fP
ee38a438 146Directive in the configuration file; see the \fBsmartd.conf\fP(5) man page).
832b75ed 147
d2e702cf 148.SH OPTIONS
832b75ed 149.TP
2127e193 150.B \-A PREFIX, \-\-attributelog=PREFIX
ee38a438
GI
151Writes \fBsmartd\fP attribute information (normalized and raw
152attribute values) to files \'PREFIX\'\'MODEL\-SERIAL.ata.csv\' or \'PREFIX\'\'VENDOR\-MODEL\-SERIAL.scsi.csv\'. At each
cfbba5b9
GI
153check cycle attributes are logged as a line of semicolon separated triplets
154of the form "attribute-ID;attribute-norm-value;attribute-raw-value;".
ee38a438 155For SCSI devices error counters and temperature recorded in the form "counter-name;counter-value;"
cfbba5b9 156Each line is led by a date string of the form "yyyy-mm-dd HH:MM:SS" (in UTC).
2127e193 157
d008864d 158.\" %IF ENABLE_ATTRIBUTELOG
2127e193
GI
159If this option is not specified, attribute information is written to files
160\'/usr/local/var/lib/smartmontools/attrlog.MODEL\-SERIAL.ata.csv\'.
161To disable attribute log files, specify this option with an empty string
162argument: \'-A ""\'.
d008864d 163.\" %ENDIF ENABLE_ATTRIBUTELOG
2127e193
GI
164MODEL and SERIAL are build from drive identify information, invalid
165characters are replaced by underline.
166
167If the PREFIX has the form \'/path/dir/\' (e.g. \'/var/lib/smartd/\'), then
168files \'MODEL\-SERIAL.ata.csv\' are created in directory \'/path/dir\'.
169If the PREFIX has the form \'/path/name\' (e.g. \'/var/lib/misc/attrlog\-\'),
170then files 'nameMODEL\-SERIAL.ata.csv' are created in directory '/path/'.
171The path must be absolute, except if debug mode is enabled.
2127e193
GI
172.TP
173.B \-B [+]FILE, \-\-drivedb=[+]FILE
cfbba5b9
GI
174[ATA only] Read the drive database from FILE. The new database replaces
175the built in database by default. If \'+\' is specified, then the new entries
176prepend the built in entries.
bed94269 177Please see the \fBsmartctl\fP(8) man page for further details.
2127e193
GI
178.TP
179.B \-c FILE, \-\-configfile=FILE
832b75ed 180Read \fBsmartd\fP configuration Directives from FILE, instead of from
e9583e0c 181the default location \fB/usr/local/etc/smartd.conf\fP (Windows: \fBEXEDIR/smartd.conf\fP).
832b75ed
GG
182If FILE does \fBnot\fP exist, then \fBsmartd\fP will print an error
183message and exit with nonzero status. Thus, \'\-c /usr/local/etc/smartd.conf\'
184can be used to verify the existence of the default configuration file.
185
186By using \'\-\' for FILE, the configuration is read from standard
187input. This is useful for commands like:
188.nf
189.B echo /dev/hdb \-m user@home \-M test | smartd \-c \- \-q onecheck
190.fi
191to perform quick and simple checks without a configuration file.
d008864d 192.\" %IF ENABLE_CAPABILITIES
a23d5117
GI
193.TP
194.B \-C, \-\-capabilities
d2e702cf 195Use \fBcapabilities\fP(7).
a23d5117
GI
196
197Warning: Mail notification does not work when used.
d008864d 198.\" %ENDIF ENABLE_CAPABILITIES
832b75ed
GG
199.TP
200.B \-d, \-\-debug
201Runs \fBsmartd\fP in "debug" mode. In this mode, it displays status
202information to STDOUT rather than logging it to SYSLOG and does not
d2e702cf 203\fBfork\fP(2) into the background and detach from the controlling
832b75ed
GG
204terminal. In this mode, \fBsmartd\fP also prints more verbose
205information about what it is doing than when operating in "daemon"
e165493d 206mode. In this mode, the \fBINT\fP signal (normally generated from a
ee38a438 207terminal with CONTROL-C) makes \fBsmartd\fP reload its configuration
832b75ed 208file. Please use CONTROL-\e to exit
d008864d 209.\" %IF OS Windows
ee38a438 210(Windows: CONTROL-Break).
832b75ed 211
f4e463df 212[Windows only] The "debug" mode can be toggled by the command
832b75ed
GG
213\fBsmartd sigusr2\fP. A new console for debug output is opened when
214debug mode is enabled.
d008864d 215.\" %ENDIF OS Windows
832b75ed
GG
216.TP
217.B \-D, \-\-showdirectives
218Prints a list (to STDOUT) of all the possible Directives which may
219appear in the configuration file /usr/local/etc/smartd.conf, and then exits.
d2e702cf
GI
220These Directives are described in the \fBsmartd.conf\fP(5) man page.
221They may appear in the configuration file following the device name.
832b75ed
GG
222.TP
223.B \-h, \-\-help, \-\-usage
224Prints usage message to STDOUT and exits.
225.TP
226.B \-i N, \-\-interval=N
227Sets the interval between disk checks to \fIN\fP seconds, where
228\fIN\fP is a decimal integer. The minimum allowed value is ten and
229the maximum is the largest positive integer that can be represented on
230your system (often 2^31-1). The default is 1800 seconds.
231
232Note that the superuser can make \fBsmartd\fP check the status of the
233disks at any time by sending it the \fBSIGUSR1\fP signal, for example
234with the command:
235.nf
236.B kill -SIGUSR1 <pid>
237.fi
238where \fB<pid>\fP is the process id number of \fBsmartd\fP. One may
239also use:
240.nf
241.B killall -USR1 smartd
242.fi
243for the same purpose.
d2e702cf 244.br
d008864d 245.\" %IF OS Windows
832b75ed 246(Windows: See NOTES below.)
d008864d 247.\" %ENDIF OS Windows
832b75ed
GG
248.TP
249.B \-l FACILITY, \-\-logfacility=FACILITY
250Uses syslog facility FACILITY to log the messages from \fBsmartd\fP.
251Here FACILITY is one of \fIlocal0\fP, \fIlocal1\fP, ..., \fIlocal7\fP,
252or \fIdaemon\fP [default]. If this command-line option is not used,
253then by default messages from \fBsmartd\fP are logged to the facility
254\fIdaemon\fP.
255
256If you would like to have \fBsmartd\fP messages logged somewhere other
d2e702cf
GI
257than the default location, include (for example) \'\-l local3\' in its
258start up argument list.
259Tell the syslog daemon to log all messages from facility \fBlocal3\fP
260to (for example) \'/var/log/smartd.log\'.
261
832b75ed 262For more detailed information, please refer to the man pages for
d2e702cf
GI
263the local syslog daemon, typically \fBsyslogd\fP(8), \fBsyslog-ng\fP(8)
264or \fBrsyslogd\fP(8).
d008864d 265.\" %IF OS Cygwin
832b75ed 266
d008864d
GI
267Cygwin: If no \fBsyslogd\fP is running, the \'\-l\' option has no effect.
268In this case, all \fBsyslog\fP messages are written to Windows event log.
269.\" %ENDIF OS Cygwin
270.\" %IF OS Windows
832b75ed
GG
271
272Windows: Some \fBsyslog\fP functionality is implemented
273internally in \fBsmartd\fP as follows: If no \'\-l\' option
274(or \'\-l daemon\') is specified, messages are written to Windows
275event log or to file \fB./smartd.log\fP if event log is not available
ee38a438 276(access denied). By specifying other values of FACILITY,
832b75ed
GG
277log output is redirected as follows:
278\'\-l local0\' to file \fB./smartd.log\fP,
279\'\-l local1\' to standard output (redirect with \'>\' to any file),
280\'\-l local2\' to standard error,
281\'\-l local[3-7]\': to file \fB./smartd[1-5].log\fP.
d008864d 282.\" %ENDIF OS Windows
a37e7145
GG
283.TP
284.B \-n, \-\-no\-fork
285Do not fork into background; this is useful when executed from modern
286init methods like initng, minit or supervise.
d008864d 287.\" %IF OS Cygwin
a37e7145
GG
288
289On Cygwin, this allows running \fBsmartd\fP as service via cygrunsrv,
290see NOTES below.
d008864d
GI
291.\" %ENDIF OS Cygwin
292.\" %IF OS Windows
a37e7145
GG
293
294On Windows, this option is not available, use \'\-\-service\' instead.
d008864d 295.\" %ENDIF OS Windows
832b75ed
GG
296.TP
297.B \-p NAME, \-\-pidfile=NAME
298Writes pidfile \fINAME\fP containing the \fBsmartd\fP Process ID
299number (PID). To avoid symlink attacks make sure the directory to
300which pidfile is written is only writable for root. Without this
301option, or if the \-\-debug option is given, no PID file is written on
302startup. If \fBsmartd\fP is killed with a maskable signal then the
303pidfile is removed.
304.TP
305.B \-q WHEN, \-\-quit=WHEN
306Specifies when, if ever, \fBsmartd\fP should exit. The valid
307arguments are to this option are:
308
309.I nodev
310\- Exit if there are no devices to monitor, or if any errors are found
311at startup in the configuration file. This is the default.
312
313.I errors
314\- Exit if there are no devices to monitor, or if any errors are found
315in the configuration file /usr/local/etc/smartd.conf at startup or whenever it
316is reloaded.
317
318.I nodevstartup
319\- Exit if there are no devices to monitor at startup. But continue
320to run if no devices are found whenever the configuration file is
321reloaded.
322
323.I never
324\- Only exit if a fatal error occurs (no remaining system memory,
325invalid command line arguments). In this mode, even if there are no
326devices to monitor, or if the configuration file
327\fB/usr/local/etc/smartd.conf\fP has errors, \fBsmartd\fP will continue to run,
328waiting to load a configuration file listing valid devices.
329
330.I onecheck
331\- Start \fBsmartd\fP in debug mode, then register devices, then check
332device\'s SMART status once, and then exit with zero exit status if all
333of these steps worked correctly.
334
335This last option is intended for \'distribution-writers\' who want to
336create automated scripts to determine whether or not to automatically
337start up \fBsmartd\fP after installing smartmontools. After starting
338\fBsmartd\fP with this command-line option, the distribution\'s install
339scripts should wait a reasonable length of time (say ten seconds). If
340\fBsmartd\fP has not exited with zero status by that time, the script
341should send \fBsmartd\fP a SIGTERM or SIGKILL and assume that
342\fBsmartd\fP will not operate correctly on the host. Conversely, if
343\fBsmartd\fP exits with zero status, then it is safe to run
344\fBsmartd\fP in normal daemon mode. If \fBsmartd\fP is unable to
345monitor any devices or encounters other problems then it will return
346with non-zero exit status.
347
348.I showtests
349\- Start \fBsmartd\fP in debug mode, then register devices, then write
350a list of future scheduled self tests to stdout, and then exit with zero
351exit status if all of these steps worked correctly.
352Device's SMART status is not checked.
353
ee38a438 354This option is intended to test whether the '\-s REGEX' directives in
832b75ed
GG
355smartd.conf will have the desired effect. The output lists the next test
356schedules, limited to 5 tests per type and device. This is followed by a
357summary of all tests of each device within the next 90 days.
358.TP
359.B \-r TYPE, \-\-report=TYPE
360Intended primarily to help
361.B smartmontools
362developers understand the behavior of
363.B smartmontools
364on non-conforming or poorly-conforming hardware. This option reports
365details of
366\fBsmartd\fP
367transactions with the device. The option can be used multiple times.
368When used just once, it shows a record of the ioctl() transactions
369with the device. When used more than once, the detail of these ioctl()
370transactions are reported in greater detail. The valid arguments to
371this option are:
372
373.I ioctl
374\- report all ioctl() transactions.
375
376.I ataioctl
377\- report only ioctl() transactions with ATA devices.
378
379.I scsiioctl
380\- report only ioctl() transactions with SCSI devices.
381
382Any argument may include a positive integer to specify the level of
383detail that should be reported. The argument should be followed by a
384comma then the integer with no spaces. For example, \fIataioctl,2\fP
385The default level is 1, so \'\-r ataioctl,1\' and \'\-r ataioctl\' are
386equivalent.
2127e193
GI
387.TP
388.B \-s PREFIX, \-\-savestates=PREFIX
ee38a438
GI
389Reads/writes \fBsmartd\fP state information from/to files
390\'PREFIX\'\'MODEL\-SERIAL.ata.state\' or \'PREFIX\'\'VENDOR\-MODEL\-SERIAL.scsi.state\'.
391This preserves SMART attributes, drive min and max temperatures (\-W directive),
392info about last sent warning email
2127e193
GI
393(\-m directive), and the time of next check of the self-test REGEXP
394(\-s directive) across boot cycles.
395
d008864d 396.\" %IF ENABLE_SAVESTATES
2127e193 397If this option is not specified, state information is maintained in files
ee38a438
GI
398\'/usr/local/var/lib/smartmontools/smartd.MODEL\-SERIAL.ata.state\' for ATA devices and
399\'/usr/local/var/lib/smartmontools/smartd.VENDOR\-MODEL\-SERIAL.scsi.state\' for SCSI devices.
2127e193 400To disable state files, specify this option with an empty string
ee38a438 401argument: \'\-s ""\'.
d008864d 402.\" %ENDIF ENABLE_SAVESTATES
2127e193
GI
403MODEL and SERIAL are build from drive identify information, invalid
404characters are replaced by underline.
405
406If the PREFIX has the form \'/path/dir/\' (e.g. \'/var/lib/smartd/\'), then
407files \'MODEL\-SERIAL.ata.state\' are created in directory \'/path/dir\'.
408If the PREFIX has the form \'/path/name\' (e.g. \'/var/lib/misc/smartd\-\'),
409then files 'nameMODEL\-SERIAL.ata.state' are created in directory '/path/'.
410The path must be absolute, except if debug mode is enabled.
411
412The state information files are read on smartd startup. The files are
413always (re)written after reading the configuration file, before rereading
414the configuration file (SIGHUP), before smartd shutdown, and after a check
415forced by SIGUSR1. After a normal check cycle, a file is only rewritten if
416an important change (which usually results in a SYSLOG output) occurred.
ee38a438
GI
417.TP
418.B \-w PATH, \-\-warnexec=PATH
419[NEW EXPERIMENTAL SMARTD FEATURE]
420Run the executable PATH instead of the default script when smartd
421needs to send warning messages. PATH must point to an executable binary
422file or script.
423The default script is
424.\" %IF NOT OS Windows
425\fB/usr/local/etc/smartd_warning.sh\fP.
426.\" %ENDIF NOT OS Windows
427.\" %IF OS ALL
428(Windows: EXEDIR/smartd_warning.cmd)
429.\" %ENDIF OS ALL
430.\" %IF OS Windows
431.\"! \fBEXEDIR/smartd_warning.cmd\fP.
432.\" %ENDIF OS Windows
d008864d 433.\" %IF OS Windows
832b75ed
GG
434.TP
435.B \-\-service
f4e463df 436[Windows only] Enables \fBsmartd\fP to run as a Windows service.
832b75ed
GG
437The option must be specified in the service command line as the first
438argument. It should not be used from console.
439See NOTES below for details.
d008864d 440.\" %ENDIF OS Windows
832b75ed
GG
441.TP
442.B \-V, \-\-version, \-\-license, \-\-copyright
2127e193
GI
443Prints version, copyright, license, home page and SVN revision
444information for your copy of \fBsmartd\fP to STDOUT and then exits.
445Please include this information if you are reporting bugs or problems.
832b75ed
GG
446
447.SH EXAMPLES
d2e702cf
GI
448.B smartd
449.br
832b75ed
GG
450Runs the daemon in forked mode. This is the normal way to run
451\fBsmartd\fP.
e9583e0c 452Entries are logged to SYSLOG.
832b75ed 453
d2e702cf
GI
454.B smartd -d -i 30
455.br
832b75ed
GG
456Run in foreground (debug) mode, checking the disk status
457every 30 seconds.
458
d2e702cf
GI
459.B smartd -q onecheck
460.br
832b75ed 461Registers devices, and checks the status of the devices exactly
d2e702cf 462once. The exit status (the shell
832b75ed
GG
463.B $?
464variable) will be zero if all went well, and nonzero if no devices
465were detected or some other problem was encountered.
466
832b75ed
GG
467Note that \fBsmartmontools\fP provides a start-up script in
468\fB/usr/local/etc/rc.d/init.d/smartd\fP which is responsible for starting and
469stopping the daemon via the normal init interface. Using this script,
470you can start \fBsmartd\fP by giving the command:
471.nf
472.B /usr/local/etc/rc.d/init.d/smartd start
473.fi
474and stop it by using the command:
475.nf
476.B /usr/local/etc/rc.d/init.d/smartd stop
832b75ed 477.fi
d2e702cf 478
d008864d 479.SH CONFIGURATION
d2e702cf
GI
480The syntax of the \fBsmartd.conf\fP(5) file is discussed separately.
481
832b75ed
GG
482.SH NOTES
483\fBsmartd\fP
484will make log entries at loglevel
485.B LOG_INFO
486if the Normalized SMART Attribute values have changed, as reported using the
487.B \'\-t\', \'\-p\',
488or
489.B \'\-u\'
490Directives. For example:
491.nf
492.B \'Device: /dev/hda, SMART Attribute: 194 Temperature_Celsius changed from 94 to 93\'
493.fi
494Note that in this message, the value given is the \'Normalized\' not the \'Raw\'
495Attribute value (the disk temperature in this case is about 22
496Celsius). The
497.B \'-R\'
498and
499.B \'-r\'
500Directives modify this behavior, so that the information is printed
501with the Raw values as well, for example:
502.nf
503.B \'Device: /dev/hda, SMART Attribute: 194 Temperature_Celsius changed from 94 [Raw 22] to 93 [Raw 23]\'
504.fi
505Here the Raw values are the actual disk temperatures in Celsius. The
506way in which the Raw values are printed, and the names under which the
507Attributes are reported, is governed by the various
508.B \'-v Num,Description\'
509Directives described previously.
510
511Please see the
512.B smartctl
513manual page for further explanation of the differences between
514Normalized and Raw Attribute values.
515
516\fBsmartd\fP
517will make log entries at loglevel
518.B LOG_CRIT
519if a SMART Attribute has failed, for example:
520.nf
521.B \'Device: /dev/hdc, Failed SMART Attribute: 5 Reallocated_Sector_Ct\'
522.fi
523 This loglevel is used for reporting enabled by the
524.B \'\-H\', \-f\', \'\-l\ selftest\',
525and
526.B \'\-l\ error\'
527Directives. Entries reporting failure of SMART Prefailure Attributes
528should not be ignored: they mean that the disk is failing. Use the
529.B smartctl
530utility to investigate.
531
d008864d 532.\" %IF OS Solaris
832b75ed
GG
533Under Solaris with the default \fB/etc/syslog.conf\fP configuration,
534messages below loglevel \fBLOG_NOTICE\fP will \fBnot\fP be recorded.
535Hence all \fBsmartd\fP messages with loglevel \fBLOG_INFO\fP will be
536lost. If you want to use the existing daemon facility to log all
537messages from \fBsmartd\fP, you should change \fB/etc/syslog.conf\fP
538from:
539.nf
540 ...;daemon.notice;... /var/adm/messages
541.fi
542to read:
543.nf
544 ...;daemon.info;... /var/adm/messages
545.fi
546Alternatively, you can use a local facility to log messages: please
ee38a438 547see the \fBsmartd\fP '\-l' command-line option described above.
832b75ed 548
d008864d
GI
549.\" %ENDIF OS Solaris
550.\" %IF OS Cygwin
551The Cygwin Version of \fBsmartd\fP can be run as a service via the
552cygrunsrv tool. The start-up script provides Cygwin-specific commands
553to install and remove the service:
554.nf
555.B /usr/local/etc/rc.d/init.d/smartd install [options]
556.B /usr/local/etc/rc.d/init.d/smartd remove
557.fi
558The service can be started and stopped by the start-up script as usual
559(see \fBEXAMPLES\fP above).
560
561.\" %ENDIF OS Cygwin
562.\" %IF OS Windows
563On Windows, the log messages are written to the event log or to a file.
ee38a438 564See documentation of the '\-l FACILITY' option above for details.
832b75ed
GG
565
566On Windows, the following built-in commands can be used to control
567\fBsmartd\fP, if running as a daemon:
568
569\'\fBsmartd status\fP\' \- check status
570
571\'\fBsmartd stop\fP\' \- stop smartd
572
573\'\fBsmartd reload\fP\' \- reread config file
574
575\'\fBsmartd restart\fP\' \- restart smartd
576
577\'\fBsmartd sigusr1\fP\' \- check disks now
578
579\'\fBsmartd sigusr2\fP\' \- toggle debug mode
580
832b75ed
GG
581The Windows Version of \fBsmartd\fP has buildin support for services:
582
583\'\fBsmartd install [options]\fP\' installs a service
584named "smartd" (display name "SmartD Service") using the command line
d008864d 585\'/INSTALLPATH/smartd.exe \-\-service [options]\'.
ee38a438
GI
586This also installs smartd.exe as a event message file for the Windows
587event viewer.
832b75ed 588
ee38a438
GI
589\'\fBsmartd remove\fP\' can later be used to remove the service and
590event message entries from the registry.
832b75ed
GG
591
592Upon startup, the smartd service changes the working directory
593to its own installation path. If smartd.conf and blat.exe are stored
594in this directory, no \'-c\' option and \'-M exec\' directive is needed.
595
ee38a438 596The debug mode (\'\-d\', \'\-q onecheck\') does not work if smartd is
832b75ed
GG
597running as service.
598
599The service can be controlled as usual with Windows commands \'net\'
600or \'sc\' (\'\fBnet start smartd\fP\', \'\fBnet stop smartd\fP\').
601
602Pausing the service (\'\fBnet pause smartd\fP\') sets the interval between
ee38a438 603disk checks (\'\-i N\') to infinite.
832b75ed
GG
604
605Continuing the paused service (\'\fBnet continue smartd\fP\') resets the
606interval and rereads the configuration file immediately (like \fBSIGHUP\fP):
607
608Continuing a still running service (\'\fBnet continue smartd\fP\' without
609preceding \'\fBnet pause smartd\fP\') does not reread configuration but
610checks disks immediately (like \fBSIGUSR1\fP).
611
d008864d 612.\" %ENDIF OS Windows
832b75ed 613.SH LOG TIMESTAMP TIMEZONE
832b75ed
GG
614When \fBsmartd\fP makes log entries, these are time-stamped. The time
615stamps are in the computer's local time zone, which is generally set
616using either the environment variable \'\fBTZ\fP\' or using a
617time-zone file such as \fB/etc/localtime\fP. You may wish to change
618the timezone while \fBsmartd\fP is running (for example, if you carry
619a laptop to a new time-zone and don't reboot it). Due to a bug in the
d2e702cf 620\fBtzset\fP(3) function of many unix standard C libraries, the
832b75ed
GG
621time-zone stamps of \fBsmartd\fP might not change. For some systems,
622\fBsmartd\fP will work around this problem \fIif\fP the time-zone is
623set using \fB/etc/localtime\fP. The work-around \fIfails\fP if the
624time-zone is set using the \'\fBTZ\fP\' variable (or a file that it
625points to).
626
832b75ed
GG
627.SH RETURN VALUES
628The return value (exit status) of
629\fBsmartd\fP
630can have the following values:
631.TP
632.B 0:
633Daemon startup successful, or \fBsmartd\fP was killed by a SIGTERM (or in debug mode, a SIGQUIT).
634.TP
635.B 1:
636Commandline did not parse.
637.TP
638.B 2:
639There was a syntax error in the config file.
640.TP
641.B 3:
642Forking the daemon failed.
643.TP
644.B 4:
645Couldn\'t create PID file.
646.TP
647.B 5:
ee38a438 648Config file does not exist (only returned in conjunction with the \'\-c\' option).
832b75ed
GG
649.TP
650.B 6:
651Config file exists, but cannot be read.
652.TP
653.B 8:
654\fBsmartd\fP
655ran out of memory during startup.
656.TP
657.B 9:
658A compile time constant of\fB smartd\fP was too small. This can be caused by an
659excessive number of disks, or by lines in \fB /usr/local/etc/smartd.conf\fP that are too long.
660Please report this problem to \fB smartmontools-support@lists.sourceforge.net\fP.
661.TP
f4e463df 662.B 10:
832b75ed
GG
663An inconsistency was found in \fBsmartd\fP\'s internal data
664structures. This should never happen. It must be due to either a
665coding or compiler bug. \fIPlease\fP report such failures to
666smartmontools-support@lists.sourceforge.net.
667.TP
668.B 16:
669A device explicitly listed in
670.B /usr/local/etc/smartd.conf
671can\'t be monitored.
672.TP
673.B 17:
674\fBsmartd\fP
675didn\'t find any devices to monitor.
676.TP
677.B 254:
678When in daemon mode,
679\fBsmartd\fP
680received a SIGINT or SIGQUIT. (Note that in debug mode, SIGINT has
681the same effect as SIGHUP, and makes \fBsmartd\fP reload its
682configuration file. SIGQUIT has the same effect as SIGTERM and causes
683\fBsmartd\fP to exit with zero exit status.
684.TP
685.B 132 and above
686\fBsmartd\fP
687was killed by a signal that is not explicitly listed above. The exit
688status is then 128 plus the signal number. For example if
689\fBsmartd\fP
690is killed by SIGKILL (signal 9) then the exit status is 137.
691
d2e702cf
GI
692.\" %IF NOT OS Windows
693.SH FILES
694.TP
695.B /usr/local/sbin/smartd
696full path of this executable.
697.TP
698.B /usr/local/etc/smartd.conf
699configuration file (see \fBsmartd.conf\fP(5) man page).
700.TP
701.B /usr/local/etc/smartd_warning.sh
702script run on warnings (see \'\-M exec\' directive on
703\fBsmartd.conf\fP(5) man page).
704.\" %IF ENABLE_SMARTDPLUGINDIR
705.TP
706.B /usr/local/etc/smartd_warning.d/
707plugin directory for smartd warning script (see \'\-m\' directive on
708\fBsmartd.conf\fP(5) man page).
709.\" %ENDIF ENABLE_SMARTDPLUGINDIR
710.\" %IF ENABLE_DRIVEDB
711.TP
712.B /usr/local/share/smartmontools/drivedb.h
713drive database (see \'\-B\' option).
714.\" %ENDIF ENABLE_DRIVEDB
715.TP
716.B /usr/local/etc/smart_drivedb.h
717optional local drive database (see \'\-B\' option).
718
719.\" %ENDIF NOT OS Windows
ee38a438
GI
720.SH AUTHORS
721\fBBruce Allen\fP
722.br
832b75ed 723University of Wisconsin \- Milwaukee Physics Department
ee38a438
GI
724.br
725\fBChristian Franke\fP (Windows interface, C++ redesign, most enhancements
726since 2009)
727.br
728\fBsmartmontools\-support@lists.sourceforge.net\fP
832b75ed 729
832b75ed 730The following have made large contributions to smartmontools:
d2e702cf 731.br
832b75ed 732\fBCasper Dik\fP (Solaris SCSI interface)
d2e702cf 733.br
832b75ed 734\fBDouglas Gilbert\fP (SCSI subsystem)
d2e702cf 735.br
832b75ed 736\fBGuido Guenther\fP (Autoconf/Automake packaging)
d2e702cf 737.br
832b75ed 738\fBGeoffrey Keating\fP (Darwin ATA interface)
d2e702cf 739.br
832b75ed 740\fBEduard Martinescu\fP (FreeBSD interface)
d2e702cf 741.br
d008864d 742\fBFr\['e]d\['e]ric L. W. Meunier\fP (Web site and Mailing list)
d2e702cf 743.br
2127e193 744\fBGabriele Pohl\fP (Web site and Wiki, conversion from CVS to SVN)
d2e702cf 745.br
832b75ed 746\fBKeiji Sawada\fP (Solaris ATA interface)
d2e702cf 747.br
2127e193 748\fBManfred Schwarb\fP (Drive database)
d2e702cf 749.br
832b75ed 750\fBSergey Svishchev\fP (NetBSD interface)
d2e702cf 751.br
832b75ed 752\fBDavid Snyder and Sergey Svishchev\fP (OpenBSD interface)
d2e702cf 753.br
832b75ed 754\fBPhil Williams\fP (User interface and drive database)
d2e702cf 755.br
2127e193 756\fBShengfeng Zhou\fP (Linux/FreeBSD HighPoint RocketRAID interface)
d2e702cf 757.br
832b75ed
GG
758Many other individuals have made smaller contributions and corrections.
759
d2e702cf
GI
760The first smartmontools code was derived from the smartsuite package,
761written by Michael Cornwell, and from the previous UCSC smartsuite package.
762This code was originally developed as a
832b75ed
GG
763Senior Thesis by Michael Cornwell at the Concurrent Systems Laboratory
764(now part of the Storage Systems Research Center), Jack Baskin School
765of Engineering, University of California, Santa
766Cruz. \fBhttp://ssrc.soe.ucsc.edu/\fP .
832b75ed 767
d2e702cf
GI
768.SH SEE ALSO
769\fBsmartd.conf\fP(5), \fBsmartctl\fP(8), \fBupdate-smart-drivedb\fP(8).
770
771.SH REFERENCES
772Please see the following web site for more info:
773\fBhttp://smartmontools.sourceforge.net/\fP
832b75ed 774
832b75ed
GG
775An introductory article about smartmontools is \fIMonitoring Hard
776Disks with SMART\fP, by Bruce Allen, Linux Journal, January 2004,
ee38a438 777pages 74-77. This is \fBhttp://www.linuxjournal.com/article/6983\fP
832b75ed
GG
778online.
779
780If you would like to understand better how SMART works, and what it
781does, a good place to start is with Sections 4.8 and 6.54 of the first
ee38a438 782volume of the \'AT Attachment with Packet Interface-7\' (ATA/ATAPI-7)
e9583e0c
GI
783specification Revision 4b. This documents the SMART functionality which the
784\fBsmartmontools\fP utilities provide access to.
832b75ed 785
ee38a438
GI
786The functioning of SMART was originally defined by the SFF-8035i
787revision 2 and the SFF-8055i revision 1.4 specifications. These are
e9583e0c
GI
788publications of the Small Form Factors (SFF) Committee.
789
790Links to these and other documents may be found on the Links page of the
d2e702cf 791\fBsmartmontools\fP Wiki at \fBhttp://www.smartmontools.org/wiki/Links\fP .
832b75ed 792
d2e702cf
GI
793.SH SVN ID OF THIS PAGE
794$Id: smartd.8.in 3965 2014-07-20 14:46:41Z chrfranke $