mirror of
https://git.proxmox.com/git/mirror_smartmontools-debian
synced 2025-08-06 06:10:13 +00:00
772 lines
29 KiB
Groff
772 lines
29 KiB
Groff
.ig
|
|
Copyright (C) 2002-10 Bruce Allen
|
|
Copyright (C) 2004-15 Christian Franke
|
|
|
|
$Id: smartd.8.in 4120 2015-08-27 16:12:21Z samm2 $
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 2, or (at your option)
|
|
any later version.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
(for example COPYING); If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
This code was originally developed as a Senior Thesis by Michael Cornwell
|
|
at the Concurrent Systems Laboratory (now part of the Storage Systems
|
|
Research Center), Jack Baskin School of Engineering, University of
|
|
California, Santa Cruz. http://ssrc.soe.ucsc.edu/
|
|
|
|
..
|
|
.TH SMARTD 8 "CURRENT_SVN_DATE" "CURRENT_SVN_VERSION" "SMART Monitoring Tools"
|
|
.SH NAME
|
|
\fBsmartd\fP \- SMART Disk Monitoring Daemon
|
|
|
|
.SH SYNOPSIS
|
|
.B smartd [options]
|
|
|
|
.SH DESCRIPTION
|
|
.\" %IF NOT OS ALL
|
|
.\"! [This man page is generated for the OS_MAN_FILTER version of smartmontools.
|
|
.\"! It does not contain info specific to other platforms.]
|
|
.\"! .PP
|
|
.\" %ENDIF NOT OS ALL
|
|
\fBsmartd\fP is a daemon that monitors the Self-Monitoring, Analysis and
|
|
Reporting Technology (SMART) system built into most ATA/SATA and SCSI/SAS
|
|
hard drives and solid-state drives.
|
|
The purpose of SMART is to monitor the reliability of the hard drive
|
|
and predict drive failures, and to carry out different types of drive
|
|
self-tests.
|
|
This version of \fBsmartd\fP is compatible with
|
|
ACS-3, ACS-2, ATA8-ACS, ATA/ATAPI-7 and earlier standards
|
|
(see \fBREFERENCES\fP below).
|
|
|
|
\fBsmartd\fP will attempt to enable SMART monitoring on ATA devices
|
|
(equivalent to \fBsmartctl -s on\fP) and polls these and SCSI devices
|
|
every 30 minutes (configurable), logging SMART errors and changes of
|
|
SMART Attributes via the SYSLOG interface. The default location for
|
|
these SYSLOG notifications and warnings is system-dependent
|
|
(typically \fB/var/log/messages\fP or \fB/var/log/syslog\fP).
|
|
To change this default location, please see the \fB\'-l\'\fP
|
|
command-line option described below.
|
|
|
|
In addition to logging to a file, \fBsmartd\fP can also be configured
|
|
to send email warnings if problems are detected. Depending upon the
|
|
type of problem, you may want to run self-tests on the disk, back up
|
|
the disk, replace the disk, or use a manufacturer\'s utility to force
|
|
reallocation of bad or unreadable disk sectors. If disk problems are
|
|
detected, please see the \fBsmartctl\fP manual page and the
|
|
\fBsmartmontools\fP web page/FAQ for further guidance.
|
|
|
|
If you send a \fBUSR1\fP signal to \fBsmartd\fP it will immediately
|
|
check the status of the disks, and then return to polling the disks
|
|
every 30 minutes. See the \fB\'\-i\'\fP option below for additional
|
|
details.
|
|
|
|
\fBsmartd\fP can be configured at start-up using the configuration
|
|
file \fB/usr/local/etc/smartd.conf\fP (Windows: \fBEXEDIR/smartd.conf\fP).
|
|
If the configuration file is subsequently modified, \fBsmartd\fP
|
|
can be told to re-read the configuration file by sending it a
|
|
\fBHUP\fP signal, for example with the command:
|
|
.br
|
|
\fBkillall -HUP smartd\fP.
|
|
.br
|
|
.\" %IF OS Windows
|
|
(Windows: See NOTES below.)
|
|
.\" %ENDIF OS Windows
|
|
|
|
On startup, if \fBsmartd\fP finds a syntax error in the configuration
|
|
file, it will print an error message and then exit. However if
|
|
\fBsmartd\fP is already running, then is told with a \fBHUP\fP signal
|
|
to re-read the configuration file, and then find a syntax error in
|
|
this file, it will print an error message and then continue, ignoring
|
|
the contents of the (faulty) configuration file, as if the \fBHUP\fP
|
|
signal had never been received.
|
|
|
|
When \fBsmartd\fP is running in debug mode, the \fBINT\fP signal
|
|
(normally generated from a shell with CONTROL-C) is treated in the
|
|
same way as a \fBHUP\fP signal: it makes \fBsmartd\fP reload its
|
|
configuration file. To exit \fBsmartd\fP use CONTROL-\e
|
|
.\" %IF OS Windows
|
|
(Windows: CONTROL-Break).
|
|
.\" %ENDIF OS Windows
|
|
|
|
On startup, in the absence of the configuration file
|
|
\fB/usr/local/etc/smartd.conf\fP, the \fBsmartd\fP daemon first scans for all
|
|
devices that support SMART. The scanning is done as follows:
|
|
.\" %IF OS Linux
|
|
.IP \fBLINUX:\fP 9
|
|
Examine all entries \fB"/dev/hd[a-t]"\fP for IDE/ATA
|
|
devices, and \fB"/dev/sd[a-z]"\fP, \fB"/dev/sd[a-c][a-z]"\fP
|
|
for ATA/SATA or SCSI/SAS devices.
|
|
Disks behind RAID controllers are not included.
|
|
.\" %ENDIF OS Linux
|
|
.\" %IF OS FreeBSD
|
|
.IP \fBFREEBSD:\fP 9
|
|
Authoritative list of disk devices is obtained from SCSI (CAM) and ATA subsystems.
|
|
Disks behind RAID controllers are not included.
|
|
.\" %ENDIF OS FreeBSD
|
|
.\" %IF OS NetBSD OpenBSD
|
|
.IP \fBNETBSD/OPENBSD:\fP 9
|
|
Authoritative list of disk devices is obtained from sysctl
|
|
\'hw.disknames\'.
|
|
.\" %ENDIF OS NetBSD OpenBSD
|
|
.\" %IF OS Solaris
|
|
.IP \fBSOLARIS:\fP 9
|
|
Examine all entries \fB"/dev/rdsk/*s0"\fP for IDE/ATA and SCSI disk
|
|
devices, and entries \fB"/dev/rmt/*"\fP for SCSI tape devices.
|
|
.\" %ENDIF OS Solaris
|
|
.\" %IF OS Darwin
|
|
.IP \fBDARWIN:\fP 9
|
|
The IOService plane is scanned for ATA block storage devices.
|
|
.\" %ENDIF OS Darwin
|
|
.\" %IF OS Windows Cygwin
|
|
.IP \fBWINDOWS\fP: 9
|
|
Examine all entries \fB"/dev/sd[a\-z]"\fP, \fB"/dev/sd[a\-c][a\-z]"\fP
|
|
and \fB"/dev/sdd[a\-x]"\fP ("\\\\.\\PhysicalDrive[0\-127]") for
|
|
IDE/(S)ATA and SCSI disk devices.
|
|
|
|
If a 3ware 9000 controller is installed, examine all entries
|
|
\fB"/dev/sdX,N"\fP for the first logical drive (\'unit\'
|
|
\fB"/dev/sdX"\fP) and all physical disks (\'ports\' \fB",N"\fP)
|
|
detected behind this controller. Same for a second controller if present.
|
|
|
|
If directive \'\-d csmi\' or no \'\-d\' directive is specified,
|
|
examine all entries \fB"/dev/csmi[0\-9],N"\fP for drives behind an Intel
|
|
ICHxR controller with RST driver.
|
|
|
|
Disks behind Areca RAID controllers are not included.
|
|
.\" %ENDIF OS Windows Cygwin
|
|
.PP
|
|
\fBsmartd\fP then monitors
|
|
for \fIall\fP possible SMART errors (corresponding to the \fB\'\-a\'\fP
|
|
Directive in the configuration file; see the \fBsmartd.conf\fP(5) man page).
|
|
|
|
.SH OPTIONS
|
|
.TP
|
|
.B \-A PREFIX, \-\-attributelog=PREFIX
|
|
Writes \fBsmartd\fP attribute information (normalized and raw
|
|
attribute values) to files \'PREFIX\'\'MODEL\-SERIAL.ata.csv\' or \'PREFIX\'\'VENDOR\-MODEL\-SERIAL.scsi.csv\'. At each
|
|
check cycle attributes are logged as a line of semicolon separated triplets
|
|
of the form "attribute-ID;attribute-norm-value;attribute-raw-value;".
|
|
For SCSI devices error counters and temperature recorded in the form "counter-name;counter-value;"
|
|
Each line is led by a date string of the form "yyyy-mm-dd HH:MM:SS" (in UTC).
|
|
|
|
.\" %IF ENABLE_ATTRIBUTELOG
|
|
If this option is not specified, attribute information is written to files
|
|
\'/usr/local/var/lib/smartmontools/attrlog.MODEL\-SERIAL.ata.csv\'.
|
|
To disable attribute log files, specify this option with an empty string
|
|
argument: \'-A ""\'.
|
|
.\" %ENDIF ENABLE_ATTRIBUTELOG
|
|
MODEL and SERIAL are build from drive identify information, invalid
|
|
characters are replaced by underline.
|
|
|
|
If the PREFIX has the form \'/path/dir/\' (e.g. \'/var/lib/smartd/\'), then
|
|
files \'MODEL\-SERIAL.ata.csv\' are created in directory \'/path/dir\'.
|
|
If the PREFIX has the form \'/path/name\' (e.g. \'/var/lib/misc/attrlog\-\'),
|
|
then files 'nameMODEL\-SERIAL.ata.csv' are created in directory '/path/'.
|
|
The path must be absolute, except if debug mode is enabled.
|
|
.TP
|
|
.B \-B [+]FILE, \-\-drivedb=[+]FILE
|
|
[ATA only] Read the drive database from FILE. The new database replaces
|
|
the built in database by default. If \'+\' is specified, then the new entries
|
|
prepend the built in entries.
|
|
Please see the \fBsmartctl\fP(8) man page for further details.
|
|
.TP
|
|
.B \-c FILE, \-\-configfile=FILE
|
|
Read \fBsmartd\fP configuration Directives from FILE, instead of from
|
|
the default location \fB/usr/local/etc/smartd.conf\fP (Windows: \fBEXEDIR/smartd.conf\fP).
|
|
If FILE does \fBnot\fP exist, then \fBsmartd\fP will print an error
|
|
message and exit with nonzero status. Thus, \'\-c /usr/local/etc/smartd.conf\'
|
|
can be used to verify the existence of the default configuration file.
|
|
|
|
By using \'\-\' for FILE, the configuration is read from standard
|
|
input. This is useful for commands like:
|
|
.nf
|
|
.B echo /dev/sdb \-m user@home \-M test | smartd \-c \- \-q onecheck
|
|
.fi
|
|
to perform quick and simple checks without a configuration file.
|
|
.\" %IF ENABLE_CAPABILITIES
|
|
.TP
|
|
.B \-C, \-\-capabilities
|
|
[Linux only] Use libcap-ng to drop unneeded Linux process \fBcapabilities\fP(7).
|
|
The following capabilities are kept: CAP_SYS_ADMIN, CAP_SYS_RAWIO, CAP_MKNOD.
|
|
|
|
Warning: Mail notification does not work when used.
|
|
.\" %ENDIF ENABLE_CAPABILITIES
|
|
.TP
|
|
.B \-d, \-\-debug
|
|
Runs \fBsmartd\fP in "debug" mode. In this mode, it displays status
|
|
information to STDOUT rather than logging it to SYSLOG and does not
|
|
\fBfork\fP(2) into the background and detach from the controlling
|
|
terminal. In this mode, \fBsmartd\fP also prints more verbose
|
|
information about what it is doing than when operating in "daemon"
|
|
mode. In this mode, the \fBINT\fP signal (normally generated from a
|
|
terminal with CONTROL-C) makes \fBsmartd\fP reload its configuration
|
|
file. Please use CONTROL-\e to exit
|
|
.\" %IF OS Windows
|
|
(Windows: CONTROL-Break).
|
|
|
|
[Windows only] The "debug" mode can be toggled by the command
|
|
\fBsmartd sigusr2\fP. A new console for debug output is opened when
|
|
debug mode is enabled.
|
|
.\" %ENDIF OS Windows
|
|
.TP
|
|
.B \-D, \-\-showdirectives
|
|
Prints a list (to STDOUT) of all the possible Directives which may
|
|
appear in the configuration file /usr/local/etc/smartd.conf, and then exits.
|
|
These Directives are described in the \fBsmartd.conf\fP(5) man page.
|
|
They may appear in the configuration file following the device name.
|
|
.TP
|
|
.B \-h, \-\-help, \-\-usage
|
|
Prints usage message to STDOUT and exits.
|
|
.TP
|
|
.B \-i N, \-\-interval=N
|
|
Sets the interval between disk checks to \fIN\fP seconds, where
|
|
\fIN\fP is a decimal integer. The minimum allowed value is ten and
|
|
the maximum is the largest positive integer that can be represented on
|
|
your system (often 2^31-1). The default is 1800 seconds.
|
|
|
|
Note that the superuser can make \fBsmartd\fP check the status of the
|
|
disks at any time by sending it the \fBSIGUSR1\fP signal, for example
|
|
with the command:
|
|
.nf
|
|
.B kill -SIGUSR1 <pid>
|
|
.fi
|
|
where \fB<pid>\fP is the process id number of \fBsmartd\fP. One may
|
|
also use:
|
|
.nf
|
|
.B killall -USR1 smartd
|
|
.fi
|
|
for the same purpose.
|
|
.br
|
|
.\" %IF OS Windows
|
|
(Windows: See NOTES below.)
|
|
.\" %ENDIF OS Windows
|
|
.TP
|
|
.B \-l FACILITY, \-\-logfacility=FACILITY
|
|
Uses syslog facility FACILITY to log the messages from \fBsmartd\fP.
|
|
Here FACILITY is one of \fIlocal0\fP, \fIlocal1\fP, ..., \fIlocal7\fP,
|
|
or \fIdaemon\fP [default]. If this command-line option is not used,
|
|
then by default messages from \fBsmartd\fP are logged to the facility
|
|
\fIdaemon\fP.
|
|
|
|
If you would like to have \fBsmartd\fP messages logged somewhere other
|
|
than the default location, include (for example) \'\-l local3\' in its
|
|
start up argument list.
|
|
Tell the syslog daemon to log all messages from facility \fBlocal3\fP
|
|
to (for example) \'/var/log/smartd.log\'.
|
|
|
|
For more detailed information, please refer to the man pages for
|
|
the local syslog daemon, typically \fBsyslogd\fP(8), \fBsyslog-ng\fP(8)
|
|
or \fBrsyslogd\fP(8).
|
|
.\" %IF OS Cygwin
|
|
|
|
Cygwin: If no \fBsyslogd\fP is running, the \'\-l\' option has no effect.
|
|
In this case, all \fBsyslog\fP messages are written to Windows event log.
|
|
.\" %ENDIF OS Cygwin
|
|
.\" %IF OS Windows
|
|
|
|
Windows: Some \fBsyslog\fP functionality is implemented
|
|
internally in \fBsmartd\fP as follows: If no \'\-l\' option
|
|
(or \'\-l daemon\') is specified, messages are written to Windows
|
|
event log or to file \fB./smartd.log\fP if event log is not available
|
|
(access denied). By specifying other values of FACILITY,
|
|
log output is redirected as follows:
|
|
\'\-l local0\' to file \fB./smartd.log\fP,
|
|
\'\-l local1\' to standard output (redirect with \'>\' to any file),
|
|
\'\-l local2\' to standard error,
|
|
\'\-l local[3-7]\': to file \fB./smartd[1-5].log\fP.
|
|
.\" %ENDIF OS Windows
|
|
.TP
|
|
.B \-n, \-\-no\-fork
|
|
Do not fork into background; this is useful when executed from modern
|
|
init methods like initng, minit, supervise or systemd.
|
|
.\" %IF OS Cygwin
|
|
|
|
On Cygwin, this allows running \fBsmartd\fP as service via cygrunsrv,
|
|
see NOTES below.
|
|
.\" %ENDIF OS Cygwin
|
|
.\" %IF OS Windows
|
|
|
|
On Windows, this option is not available, use \'\-\-service\' instead.
|
|
.\" %ENDIF OS Windows
|
|
.TP
|
|
.B \-p NAME, \-\-pidfile=NAME
|
|
Writes pidfile \fINAME\fP containing the \fBsmartd\fP Process ID
|
|
number (PID). To avoid symlink attacks make sure the directory to
|
|
which pidfile is written is only writable for root. Without this
|
|
option, or if the \-\-debug option is given, no PID file is written on
|
|
startup. If \fBsmartd\fP is killed with a maskable signal then the
|
|
pidfile is removed.
|
|
.TP
|
|
.B \-q WHEN, \-\-quit=WHEN
|
|
Specifies when, if ever, \fBsmartd\fP should exit. The valid
|
|
arguments are to this option are:
|
|
|
|
.I nodev
|
|
\- Exit if there are no devices to monitor, or if any errors are found
|
|
at startup in the configuration file. This is the default.
|
|
|
|
.I errors
|
|
\- Exit if there are no devices to monitor, or if any errors are found
|
|
in the configuration file /usr/local/etc/smartd.conf at startup or whenever it
|
|
is reloaded.
|
|
|
|
.I nodevstartup
|
|
\- Exit if there are no devices to monitor at startup. But continue
|
|
to run if no devices are found whenever the configuration file is
|
|
reloaded.
|
|
|
|
.I never
|
|
\- Only exit if a fatal error occurs (no remaining system memory,
|
|
invalid command line arguments). In this mode, even if there are no
|
|
devices to monitor, or if the configuration file
|
|
\fB/usr/local/etc/smartd.conf\fP has errors, \fBsmartd\fP will continue to run,
|
|
waiting to load a configuration file listing valid devices.
|
|
|
|
.I onecheck
|
|
\- Start \fBsmartd\fP in debug mode, then register devices, then check
|
|
device\'s SMART status once, and then exit with zero exit status if all
|
|
of these steps worked correctly.
|
|
|
|
This last option is intended for \'distribution-writers\' who want to
|
|
create automated scripts to determine whether or not to automatically
|
|
start up \fBsmartd\fP after installing smartmontools. After starting
|
|
\fBsmartd\fP with this command-line option, the distribution\'s install
|
|
scripts should wait a reasonable length of time (say ten seconds). If
|
|
\fBsmartd\fP has not exited with zero status by that time, the script
|
|
should send \fBsmartd\fP a SIGTERM or SIGKILL and assume that
|
|
\fBsmartd\fP will not operate correctly on the host. Conversely, if
|
|
\fBsmartd\fP exits with zero status, then it is safe to run
|
|
\fBsmartd\fP in normal daemon mode. If \fBsmartd\fP is unable to
|
|
monitor any devices or encounters other problems then it will return
|
|
with non-zero exit status.
|
|
|
|
.I showtests
|
|
\- Start \fBsmartd\fP in debug mode, then register devices, then write
|
|
a list of future scheduled self tests to stdout, and then exit with zero
|
|
exit status if all of these steps worked correctly.
|
|
Device's SMART status is not checked.
|
|
|
|
This option is intended to test whether the '\-s REGEX' directives in
|
|
smartd.conf will have the desired effect. The output lists the next test
|
|
schedules, limited to 5 tests per type and device. This is followed by a
|
|
summary of all tests of each device within the next 90 days.
|
|
.TP
|
|
.B \-r TYPE, \-\-report=TYPE
|
|
Intended primarily to help
|
|
.B smartmontools
|
|
developers understand the behavior of
|
|
.B smartmontools
|
|
on non-conforming or poorly-conforming hardware. This option reports
|
|
details of
|
|
\fBsmartd\fP
|
|
transactions with the device. The option can be used multiple times.
|
|
When used just once, it shows a record of the ioctl() transactions
|
|
with the device. When used more than once, the detail of these ioctl()
|
|
transactions are reported in greater detail. The valid arguments to
|
|
this option are:
|
|
|
|
.I ioctl
|
|
\- report all ioctl() transactions.
|
|
|
|
.I ataioctl
|
|
\- report only ioctl() transactions with ATA devices.
|
|
|
|
.I scsiioctl
|
|
\- report only ioctl() transactions with SCSI devices.
|
|
|
|
Any argument may include a positive integer to specify the level of
|
|
detail that should be reported. The argument should be followed by a
|
|
comma then the integer with no spaces. For example, \fIataioctl,2\fP
|
|
The default level is 1, so \'\-r ataioctl,1\' and \'\-r ataioctl\' are
|
|
equivalent.
|
|
.TP
|
|
.B \-s PREFIX, \-\-savestates=PREFIX
|
|
Reads/writes \fBsmartd\fP state information from/to files
|
|
\'PREFIX\'\'MODEL\-SERIAL.ata.state\' or \'PREFIX\'\'VENDOR\-MODEL\-SERIAL.scsi.state\'.
|
|
This preserves SMART attributes, drive min and max temperatures (\-W directive),
|
|
info about last sent warning email
|
|
(\-m directive), and the time of next check of the self-test REGEXP
|
|
(\-s directive) across boot cycles.
|
|
|
|
.\" %IF ENABLE_SAVESTATES
|
|
If this option is not specified, state information is maintained in files
|
|
\'/usr/local/var/lib/smartmontools/smartd.MODEL\-SERIAL.ata.state\' for ATA devices and
|
|
\'/usr/local/var/lib/smartmontools/smartd.VENDOR\-MODEL\-SERIAL.scsi.state\' for SCSI devices.
|
|
To disable state files, specify this option with an empty string
|
|
argument: \'\-s ""\'.
|
|
.\" %ENDIF ENABLE_SAVESTATES
|
|
MODEL and SERIAL are build from drive identify information, invalid
|
|
characters are replaced by underline.
|
|
|
|
If the PREFIX has the form \'/path/dir/\' (e.g. \'/var/lib/smartd/\'), then
|
|
files \'MODEL\-SERIAL.ata.state\' are created in directory \'/path/dir\'.
|
|
If the PREFIX has the form \'/path/name\' (e.g. \'/var/lib/misc/smartd\-\'),
|
|
then files 'nameMODEL\-SERIAL.ata.state' are created in directory '/path/'.
|
|
The path must be absolute, except if debug mode is enabled.
|
|
|
|
The state information files are read on smartd startup. The files are
|
|
always (re)written after reading the configuration file, before rereading
|
|
the configuration file (SIGHUP), before smartd shutdown, and after a check
|
|
forced by SIGUSR1. After a normal check cycle, a file is only rewritten if
|
|
an important change (which usually results in a SYSLOG output) occurred.
|
|
.TP
|
|
.B \-w PATH, \-\-warnexec=PATH
|
|
Run the executable PATH instead of the default script when smartd
|
|
needs to send warning messages. PATH must point to an executable binary
|
|
file or script.
|
|
The default script is
|
|
.\" %IF NOT OS Windows
|
|
\fB/usr/local/etc/smartd_warning.sh\fP.
|
|
.\" %ENDIF NOT OS Windows
|
|
.\" %IF OS ALL
|
|
(Windows: EXEDIR/smartd_warning.cmd)
|
|
.\" %ENDIF OS ALL
|
|
.\" %IF OS Windows
|
|
.\"! \fBEXEDIR/smartd_warning.cmd\fP.
|
|
.\" %ENDIF OS Windows
|
|
.\" %IF OS Windows
|
|
.TP
|
|
.B \-\-service
|
|
[Windows only] Enables \fBsmartd\fP to run as a Windows service.
|
|
The option must be specified in the service command line as the first
|
|
argument. It should not be used from console.
|
|
See NOTES below for details.
|
|
.\" %ENDIF OS Windows
|
|
.TP
|
|
.B \-V, \-\-version, \-\-license, \-\-copyright
|
|
Prints version, copyright, license, home page and SVN revision
|
|
information for your copy of \fBsmartd\fP to STDOUT and then exits.
|
|
Please include this information if you are reporting bugs or problems.
|
|
|
|
.SH EXAMPLES
|
|
.B smartd
|
|
.br
|
|
Runs the daemon in forked mode. This is the normal way to run
|
|
\fBsmartd\fP.
|
|
Entries are logged to SYSLOG.
|
|
|
|
.B smartd -d -i 30
|
|
.br
|
|
Run in foreground (debug) mode, checking the disk status
|
|
every 30 seconds.
|
|
|
|
.B smartd -q onecheck
|
|
.br
|
|
Registers devices, and checks the status of the devices exactly
|
|
once. The exit status (the shell
|
|
.B $?
|
|
variable) will be zero if all went well, and nonzero if no devices
|
|
were detected or some other problem was encountered.
|
|
|
|
.\" %IF ENABLE_INITSCRIPT
|
|
Note that \fBsmartmontools\fP provides a start-up script in
|
|
\fB/usr/local/etc/rc.d/init.d/smartd\fP which is responsible for starting and
|
|
stopping the daemon via the normal init interface. Using this script,
|
|
you can start \fBsmartd\fP by giving the command:
|
|
.nf
|
|
.B /usr/local/etc/rc.d/init.d/smartd start
|
|
.fi
|
|
and stop it by using the command:
|
|
.nf
|
|
.B /usr/local/etc/rc.d/init.d/smartd stop
|
|
.fi
|
|
|
|
.\" %ENDIF ENABLE_INITSCRIPT
|
|
.SH CONFIGURATION
|
|
The syntax of the \fBsmartd.conf\fP(5) file is discussed separately.
|
|
|
|
.SH NOTES
|
|
\fBsmartd\fP
|
|
will make log entries at loglevel
|
|
.B LOG_INFO
|
|
if the Normalized SMART Attribute values have changed, as reported using the
|
|
.B \'\-t\', \'\-p\',
|
|
or
|
|
.B \'\-u\'
|
|
Directives. For example:
|
|
.nf
|
|
.B \'Device: /dev/sda, SMART Attribute: 194 Temperature_Celsius changed from 94 to 93\'
|
|
.fi
|
|
Note that in this message, the value given is the \'Normalized\' not the \'Raw\'
|
|
Attribute value (the disk temperature in this case is about 22
|
|
Celsius). The
|
|
.B \'-R\'
|
|
and
|
|
.B \'-r\'
|
|
Directives modify this behavior, so that the information is printed
|
|
with the Raw values as well, for example:
|
|
.nf
|
|
.B \'Device: /dev/sda, SMART Attribute: 194 Temperature_Celsius changed from 94 [Raw 22] to 93 [Raw 23]\'
|
|
.fi
|
|
Here the Raw values are the actual disk temperatures in Celsius. The
|
|
way in which the Raw values are printed, and the names under which the
|
|
Attributes are reported, is governed by the various
|
|
.B \'-v Num,Description\'
|
|
Directives described previously.
|
|
|
|
Please see the
|
|
.B smartctl
|
|
manual page for further explanation of the differences between
|
|
Normalized and Raw Attribute values.
|
|
|
|
\fBsmartd\fP
|
|
will make log entries at loglevel
|
|
.B LOG_CRIT
|
|
if a SMART Attribute has failed, for example:
|
|
.nf
|
|
.B \'Device: /dev/sdc, Failed SMART Attribute: 5 Reallocated_Sector_Ct\'
|
|
.fi
|
|
This loglevel is used for reporting enabled by the
|
|
.B \'\-H\', \-f\', \'\-l\ selftest\',
|
|
and
|
|
.B \'\-l\ error\'
|
|
Directives. Entries reporting failure of SMART Prefailure Attributes
|
|
should not be ignored: they mean that the disk is failing. Use the
|
|
.B smartctl
|
|
utility to investigate.
|
|
|
|
.\" %IF OS Solaris
|
|
Under Solaris with the default \fB/etc/syslog.conf\fP configuration,
|
|
messages below loglevel \fBLOG_NOTICE\fP will \fBnot\fP be recorded.
|
|
Hence all \fBsmartd\fP messages with loglevel \fBLOG_INFO\fP will be
|
|
lost. If you want to use the existing daemon facility to log all
|
|
messages from \fBsmartd\fP, you should change \fB/etc/syslog.conf\fP
|
|
from:
|
|
.nf
|
|
...;daemon.notice;... /var/adm/messages
|
|
.fi
|
|
to read:
|
|
.nf
|
|
...;daemon.info;... /var/adm/messages
|
|
.fi
|
|
Alternatively, you can use a local facility to log messages: please
|
|
see the \fBsmartd\fP '\-l' command-line option described above.
|
|
|
|
.\" %ENDIF OS Solaris
|
|
.\" %IF OS Cygwin
|
|
The Cygwin Version of \fBsmartd\fP can be run as a service via the
|
|
cygrunsrv tool.
|
|
.\" %IF ENABLE_INITSCRIPT
|
|
The start-up script provides Cygwin-specific commands to install and
|
|
remove the service:
|
|
.nf
|
|
.B /usr/local/etc/rc.d/init.d/smartd install [options]
|
|
.B /usr/local/etc/rc.d/init.d/smartd remove
|
|
.fi
|
|
The service can be started and stopped by the start-up script as usual
|
|
(see \fBEXAMPLES\fP above).
|
|
.\" %ENDIF ENABLE_INITSCRIPT
|
|
|
|
.\" %ENDIF OS Cygwin
|
|
.\" %IF OS Windows
|
|
On Windows, the log messages are written to the event log or to a file.
|
|
See documentation of the '\-l FACILITY' option above for details.
|
|
|
|
On Windows, the following built-in commands can be used to control
|
|
\fBsmartd\fP, if running as a daemon:
|
|
|
|
\'\fBsmartd status\fP\' \- check status
|
|
|
|
\'\fBsmartd stop\fP\' \- stop smartd
|
|
|
|
\'\fBsmartd reload\fP\' \- reread config file
|
|
|
|
\'\fBsmartd restart\fP\' \- restart smartd
|
|
|
|
\'\fBsmartd sigusr1\fP\' \- check disks now
|
|
|
|
\'\fBsmartd sigusr2\fP\' \- toggle debug mode
|
|
|
|
The Windows Version of \fBsmartd\fP has buildin support for services:
|
|
|
|
\'\fBsmartd install [options]\fP\' installs a service
|
|
named "smartd" (display name "SmartD Service") using the command line
|
|
\'/INSTALLPATH/smartd.exe \-\-service [options]\'.
|
|
This also installs smartd.exe as a event message file for the Windows
|
|
event viewer.
|
|
|
|
\'\fBsmartd remove\fP\' can later be used to remove the service and
|
|
event message entries from the registry.
|
|
|
|
Upon startup, the smartd service changes the working directory
|
|
to its own installation path. If smartd.conf and blat.exe are stored
|
|
in this directory, no \'-c\' option and \'-M exec\' directive is needed.
|
|
|
|
The debug mode (\'\-d\', \'\-q onecheck\') does not work if smartd is
|
|
running as service.
|
|
|
|
The service can be controlled as usual with Windows commands \'net\'
|
|
or \'sc\' (\'\fBnet start smartd\fP\', \'\fBnet stop smartd\fP\').
|
|
|
|
Pausing the service (\'\fBnet pause smartd\fP\') sets the interval between
|
|
disk checks (\'\-i N\') to infinite.
|
|
|
|
Continuing the paused service (\'\fBnet continue smartd\fP\') resets the
|
|
interval and rereads the configuration file immediately (like \fBSIGHUP\fP):
|
|
|
|
Continuing a still running service (\'\fBnet continue smartd\fP\' without
|
|
preceding \'\fBnet pause smartd\fP\') does not reread configuration but
|
|
checks disks immediately (like \fBSIGUSR1\fP).
|
|
|
|
.\" %ENDIF OS Windows
|
|
.SH LOG TIMESTAMP TIMEZONE
|
|
When \fBsmartd\fP makes log entries, these are time-stamped. The time
|
|
stamps are in the computer's local time zone, which is generally set
|
|
using either the environment variable \'\fBTZ\fP\' or using a
|
|
time-zone file such as \fB/etc/localtime\fP. You may wish to change
|
|
the timezone while \fBsmartd\fP is running (for example, if you carry
|
|
a laptop to a new time-zone and don't reboot it). Due to a bug in the
|
|
\fBtzset\fP(3) function of many unix standard C libraries, the
|
|
time-zone stamps of \fBsmartd\fP might not change. For some systems,
|
|
\fBsmartd\fP will work around this problem \fIif\fP the time-zone is
|
|
set using \fB/etc/localtime\fP. The work-around \fIfails\fP if the
|
|
time-zone is set using the \'\fBTZ\fP\' variable (or a file that it
|
|
points to).
|
|
|
|
.SH EXIT STATUS
|
|
The exit status (return value) of \fBsmartd\fP can have the following values:
|
|
.TP
|
|
.B 0:
|
|
Daemon startup successful, or \fBsmartd\fP was killed by a SIGTERM (or in debug mode, a SIGQUIT).
|
|
.TP
|
|
.B 1:
|
|
Commandline did not parse.
|
|
.TP
|
|
.B 2:
|
|
There was a syntax error in the config file.
|
|
.TP
|
|
.B 3:
|
|
Forking the daemon failed.
|
|
.TP
|
|
.B 4:
|
|
Couldn\'t create PID file.
|
|
.TP
|
|
.B 5:
|
|
Config file does not exist (only returned in conjunction with the \'\-c\' option).
|
|
.TP
|
|
.B 6:
|
|
Config file exists, but cannot be read.
|
|
.TP
|
|
.B 8:
|
|
\fBsmartd\fP
|
|
ran out of memory during startup.
|
|
.TP
|
|
.B 10:
|
|
An inconsistency was found in \fBsmartd\fP\'s internal data
|
|
structures. This should never happen. It must be due to either a
|
|
coding or compiler bug. \fIPlease\fP report such failures to
|
|
smartmontools developers, see REPORTING BUGS below.
|
|
.TP
|
|
.B 16:
|
|
A device explicitly listed in
|
|
.B /usr/local/etc/smartd.conf
|
|
can\'t be monitored.
|
|
.TP
|
|
.B 17:
|
|
\fBsmartd\fP
|
|
didn\'t find any devices to monitor.
|
|
.TP
|
|
.B 254:
|
|
When in daemon mode,
|
|
\fBsmartd\fP
|
|
received a SIGINT or SIGQUIT. (Note that in debug mode, SIGINT has
|
|
the same effect as SIGHUP, and makes \fBsmartd\fP reload its
|
|
configuration file. SIGQUIT has the same effect as SIGTERM and causes
|
|
\fBsmartd\fP to exit with zero exit status.
|
|
.TP
|
|
.B 132 and above
|
|
\fBsmartd\fP
|
|
was killed by a signal that is not explicitly listed above. The exit
|
|
status is then 128 plus the signal number. For example if
|
|
\fBsmartd\fP
|
|
is killed by SIGKILL (signal 9) then the exit status is 137.
|
|
|
|
.\" %IF NOT OS Windows
|
|
.SH FILES
|
|
.TP
|
|
.B /usr/local/sbin/smartd
|
|
full path of this executable.
|
|
.TP
|
|
.B /usr/local/etc/smartd.conf
|
|
configuration file (see \fBsmartd.conf\fP(5) man page).
|
|
.TP
|
|
.B /usr/local/etc/smartd_warning.sh
|
|
script run on warnings (see \'\-M exec\' directive on
|
|
\fBsmartd.conf\fP(5) man page).
|
|
.\" %IF ENABLE_SMARTDPLUGINDIR
|
|
.TP
|
|
.B /usr/local/etc/smartd_warning.d/
|
|
plugin directory for smartd warning script (see \'\-m\' directive on
|
|
\fBsmartd.conf\fP(5) man page).
|
|
.\" %ENDIF ENABLE_SMARTDPLUGINDIR
|
|
.\" %IF ENABLE_DRIVEDB
|
|
.TP
|
|
.B /usr/local/share/smartmontools/drivedb.h
|
|
drive database (see \'\-B\' option).
|
|
.\" %ENDIF ENABLE_DRIVEDB
|
|
.TP
|
|
.B /usr/local/etc/smart_drivedb.h
|
|
optional local drive database (see \'\-B\' option).
|
|
|
|
.\" %ENDIF NOT OS Windows
|
|
.SH AUTHORS
|
|
\fBBruce Allen\fP (project initiator),
|
|
.br
|
|
\fBChristian Franke\fP (project manager, Windows port and all sort of things),
|
|
.br
|
|
\fBDouglas Gilbert\fP (SCSI subsystem),
|
|
.br
|
|
\fBVolker Kuhlmann\fP (moderator of support and database mailing list),
|
|
.br
|
|
\fBGabriele Pohl\fP (wiki & development team support),
|
|
.br
|
|
\fBAlex Samorukov\fP (FreeBSD port and more, new Trac wiki).
|
|
|
|
Many other individuals have made contributions and corrections,
|
|
see AUTHORS, ChangeLog and repository files.
|
|
|
|
The first smartmontools code was derived from the smartsuite package,
|
|
written by Michael Cornwell and Andre Hedrick.
|
|
|
|
.SH REPORTING BUGS
|
|
To submit a bug report, create a ticket in smartmontools wiki:
|
|
.br
|
|
<\fBhttp://www.smartmontools.org/\fP>.
|
|
.br
|
|
Alternatively send the info to the smartmontools support mailing list:
|
|
.br
|
|
<\fBhttps://lists.sourceforge.net/lists/listinfo/smartmontools-support\fB>.
|
|
|
|
.SH SEE ALSO
|
|
\fBsmartd.conf\fP(5), \fBsmartctl\fP(8), \fBupdate-smart-drivedb\fP(8).
|
|
|
|
.SH REFERENCES
|
|
Please see the following web site for more info:
|
|
\fBhttp://www.smartmontools.org/\fP
|
|
|
|
An introductory article about smartmontools is \fIMonitoring Hard
|
|
Disks with SMART\fP, by Bruce Allen, Linux Journal, January 2004,
|
|
pages 74-77. This is \fBhttp://www.linuxjournal.com/article/6983\fP
|
|
online.
|
|
|
|
If you would like to understand better how SMART works, and what it
|
|
does, a good place to start is with Sections 4.8 and 6.54 of the first
|
|
volume of the \'AT Attachment with Packet Interface-7\' (ATA/ATAPI-7)
|
|
specification Revision 4b. This documents the SMART functionality which the
|
|
\fBsmartmontools\fP utilities provide access to.
|
|
|
|
The functioning of SMART was originally defined by the SFF-8035i
|
|
revision 2 and the SFF-8055i revision 1.4 specifications. These are
|
|
publications of the Small Form Factors (SFF) Committee.
|
|
|
|
Links to these and other documents may be found on the Links page of the
|
|
\fBsmartmontools\fP Wiki at \fBhttp://www.smartmontools.org/wiki/Links\fP .
|
|
|
|
.SH PACKAGE VERSION
|
|
CURRENT_SVN_VERSION CURRENT_SVN_DATE CURRENT_SVN_REV
|
|
.br
|
|
$Id: smartd.8.in 4120 2015-08-27 16:12:21Z samm2 $
|