Annotation of embedaddon/smartmontools/smartd.8.in, revision 1.1.1.1

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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>