smartd man page on Cygwin

Man page or keyword search:  
man Server   22533 pages
apropos Keyword Search (all sections)
Output format
Cygwin logo
[printable version]

SMARTD(8)			  2013-07-26			     SMARTD(8)

NAME
       smartd - SMART Disk Monitoring Daemon

SYNOPSIS
       smartd [options]

FULL PATH
       /usr/sbin/smartd

PACKAGE VERSION
       smartmontools-6.2 2013-07-26 r3841

DESCRIPTION
       [This  man  page	 is generated for the Cygwin version of smartmontools.
       It does not contain info specific to other platforms.]

       smartd 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 fail‐
       ures, and to carry out different types of drive self-tests.  This  ver‐
       sion of smartd is compatible with ACS-2, ATA8-ACS, ATA/ATAPI-7 and ear‐
       lier standards (see REFERENCES below).

       smartd will attempt to enable SMART monitoring on ATA devices  (equiva‐
       lent  to smartctl -s on) and polls these and SCSI devices every 30 min‐
       utes  (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
       /var/log/messages  or  /var/log/syslog).	  To change this default loca‐
       tion, please see the ´-l´ command-line option described below.

       In addition to logging to a file, smartd 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 smartctl manual page and the smartmontools web page/FAQ
       for further guidance.

       If you send a USR1 signal to smartd it will immediately check the  sta‐
       tus  of	the  disks, and then return to polling the disks every 30 min‐
       utes. See the ´-i´ option below for additional details.

       smartd can be configured	 at  start-up  using  the  configuration  file
       /etc/smartd.conf	 (Windows:  EXEDIR/smartd.conf).  If the configuration
       file is subsequently modified, smartd can be told to re-read  the  con‐
       figuration  file	 by sending it a HUP signal, for example with the com‐
       mand:
       killall -HUP smartd.

       On startup, if smartd finds a syntax error in the  configuration	 file,
       it  will	 print	an  error  message and then exit. However if smartd is
       already running, then is told with a HUP signal to re-read the configu‐
       ration  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  HUP	 signal had never been
       received.

       When smartd is running in debug mode, the INT signal  (normally	gener‐
       ated  from  a shell with CONTROL-C) is treated in the same way as a HUP
       signal: it makes smartd reload its configuration file. To  exit	smartd
       use CONTROL-\

       On  startup, in the absence of the configuration file /etc/smartd.conf,
       the smartd daemon first scans for all devices that support SMART.   The
       scanning is done as follows:

       WINDOWS: Examine	 all  entries  "/dev/sd[a-z]", "/dev/sd[a-c][a-z]" and
		"/dev/sdd[a-x]"	 ("\\.\PhysicalDrive[0-127]")  for  IDE/(S)ATA
		and SCSI disk devices.

		If  a  3ware 9000 controller is installed, examine all entries
		"/dev/sdX,N" for the first logical drive  (´unit´  "/dev/sdX")
		and  all  physical  disks  (´ports´ ",N") detected behind this
		controller. Same for a second controller if present.

		If directive ´-d csmi´ or  no  ´-d´  directive	is  specified,
		examine	 all  entries  "/dev/csmi[0-9],N" for drives behind an
		Intel ICHxR controller with RST driver.

		Disks behind Areca RAID controllers are not included.

       smartd then monitors for all possible SMART  errors  (corresponding  to
       the  ´-a´  Directive  in the configuration file; see the smartd.conf(5)
       man page).

OPTIONS
       -A PREFIX, --attributelog=PREFIX
	      Writes  smartd  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  this option is not specified, attribute information is writ‐
	      ten	 to	   files	 ´/var/lib/smartmontools/attr‐
	      log.MODEL-SERIAL.ata.csv´.   To  disable	attribute  log	files,
	      specify this option with an  empty  string  argument:  ´-A  ""´.
	      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 cre‐
	      ated in directory ´/path/dir´.   If  the	PREFIX	has  the  form
	      ´/path/name´ (e.g. ´/var/lib/misc/attrlog-´), then files 'nameM‐
	      ODEL-SERIAL.ata.csv' are created	in  directory  '/path/'.   The
	      path must be absolute, except if debug mode is enabled.

       -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 smartctl(8) man page for further details.

       -c FILE, --configfile=FILE
	      Read smartd configuration Directives from FILE, instead of  from
	      the      default	   location	/etc/smartd.conf     (Windows:
	      EXEDIR/smartd.conf).  If FILE does not exist, then  smartd  will
	      print  an error message and exit with nonzero status.  Thus, ´-c
	      /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:
	      echo /dev/hdb -m user@home -M test | smartd -c - -q onecheck
	      to perform quick and simple checks without a configuration file.

       -d, --debug
	      Runs smartd in "debug" mode. In this mode,  it  displays	status
	      information  to STDOUT rather than logging it to SYSLOG and does
	      not fork(2) into the background and detach from the  controlling
	      terminal.	  In this mode, smartd also prints more verbose infor‐
	      mation about what it is doing than when  operating  in  "daemon"
	      mode.  In	 this  mode, the INT signal (normally generated from a
	      terminal with CONTROL-C) makes smartd reload  its	 configuration
	      file.  Please use CONTROL-\ to exit

       -D, --showdirectives
	      Prints  a	 list (to STDOUT) of all the possible Directives which
	      may appear in the configuration file /etc/smartd.conf, and  then
	      exits.   These  Directives  are also described later in this man
	      page. They may appear in the configuration  file	following  the
	      device name.

       -h, --help, --usage
	      Prints usage message to STDOUT and exits.

       -i N, --interval=N
	      Sets the interval between disk checks to N seconds, where N is a
	      decimal integer.	The minimum allowed value is ten and the maxi‐
	      mum  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 smartd check the status of  the
	      disks  at any time by sending it the SIGUSR1 signal, for example
	      with the command:
	      kill -SIGUSR1 <pid>
	      where <pid> is the process id number of smartd.	One  may  also
	      use:
	      killall -USR1 smartd
	      for the same purpose.

       -l FACILITY, --logfacility=FACILITY
	      Uses  syslog  facility FACILITY to log the messages from smartd.
	      Here FACILITY is one of local0, local1, ..., local7,  or	daemon
	      [default].   If  this  command-line  option is not used, then by
	      default messages from smartd are logged to the facility daemon.

	      If you would like to have smartd messages logged somewhere other
	      than  the	 default  location, this can typically be accomplished
	      with (for example) the following steps:

	      [1] Modify the script that starts smartd to include  the	smartd
		  command-line argument ´-l local3´.  This tells smartd to log
		  its messages to facility local3.

	      [2] Modify the syslogd configuration file	 (typically  /etc/sys‐
		  log.conf) by adding a line of the form:
		  local3.* /var/log/smartd.log
		  This	tells  syslogd	to  log all the messages from facility
		  local3 to the designated file: /var/log/smartd.log.

	      [3] Tell syslogd to re-read its configuration file, typically by
		  sending the syslogd process a SIGHUP hang-up signal.

	      [4] Start (or restart) the smartd daemon.

	      For more detailed information, please refer to the man pages for
	      syslog.conf, syslogd, and syslog.	 You may also want  to	modify
	      the  log	rotation  configuration	 files;	 see the man pages for
	      logrotate and examine your system´s /etc/logrotate.conf file.

	      Cygwin: If no syslogd is running, the ´-l´ option has no effect.
	      In  this	case, all syslog messages are written to Windows event
	      log.

       -n, --no-fork
	      Do not fork into background; this is useful when	executed  from
	      modern init methods like initng, minit or supervise.

	      On  Cygwin, this allows running smartd as service via cygrunsrv,
	      see NOTES below.

       -p NAME, --pidfile=NAME
	      Writes pidfile NAME containing  the  smartd  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 smartd is killed with a maskable	signal
	      then the pidfile is removed.

       -q WHEN, --quit=WHEN
	      Specifies	 when,	if  ever, smartd should exit.  The valid argu‐
	      ments are to this option are:

	      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.

	      errors - Exit if there are no devices  to	 monitor,  or  if  any
	      errors  are  found in the configuration file /etc/smartd.conf at
	      startup or whenever it is reloaded.

	      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.

	      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
	      /etc/smartd.conf	has errors, smartd will continue to run, wait‐
	      ing to load a configuration file listing valid devices.

	      onecheck - Start smartd 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 auto‐
	      matically start up smartd after installing smartmontools.	 After
	      starting	smartd	with  this  command-line option, the distribu‐
	      tion´s install scripts should wait a reasonable length  of  time
	      (say ten seconds).  If smartd has not exited with zero status by
	      that time, the script should send smartd a  SIGTERM  or  SIGKILL
	      and  assume  that smartd will not operate correctly on the host.
	      Conversely, if smartd exits with zero status, then it is safe to
	      run smartd in normal daemon mode. If smartd is unable to monitor
	      any devices or encounters other problems	then  it  will	return
	      with non-zero exit status.

	      showtests	 -  Start smartd 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'	direc‐
	      tives  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.

       -r TYPE, --report=TYPE
	      Intended primarily to help smartmontools	developers  understand
	      the  behavior  of smartmontools on non-conforming or poorly-con‐
	      forming hardware.	 This option reports details of smartd	trans‐
	      actions with the device.	The option can be used multiple times.
	      When used just once, it shows a record of the  ioctl()  transac‐
	      tions  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:

	      ioctl - report all ioctl() transactions.

	      ataioctl - report only ioctl() transactions with ATA devices.

	      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  fol‐
	      lowed  by a comma then the integer with no spaces.  For example,
	      ataioctl,2 The default level is 1, so ´-r	 ataioctl,1´  and  ´-r
	      ataioctl´ are equivalent.

       -s PREFIX, --savestates=PREFIX
	      Reads/writes   smartd  state  information	 from/to  files	 ´PRE‐
	      FIX´´MODEL-SERIAL.ata.state´	    or		 ´PREFIX´´VEN‐
	      DOR-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 this option is not specified, state information is maintained
	      in  files ´/var/lib/smartmontools/smartd.MODEL-SERIAL.ata.state´
	      for   ATA	  devices   and	   ´/var/lib/smartmontools/smartd.VEN‐
	      DOR-MODEL-SERIAL.scsi.state´ for SCSI devices.  To disable state
	      files, specify this option with an empty	string	argument:  ´-s
	      ""´.   MODEL  and	 SERIAL are build from drive identify informa‐
	      tion, 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 'nameMO‐
	      DEL-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.

       -w PATH, --warnexec=PATH
	      [NEW  EXPERIMENTAL  SMARTD  FEATURE]  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 /etc/smartd_warning.sh.

       -V, --version, --license, --copyright
	      Prints  version,	copyright, license, home page and SVN revision
	      information for your copy of smartd to STDOUT  and  then	exits.
	      Please  include  this  information  if you are reporting bugs or
	      problems.

EXAMPLES
       smartd
       Runs the daemon in forked mode. This is the normal way to  run  smartd.
       Entries are logged to SYSLOG.

       smartd -d -i 30
       Run  in foreground (debug) mode, checking the disk status every 30 sec‐
       onds.

       smartd -q onecheck
       Registers devices, and checks the status of the devices	exactly	 once.
       The  exit status (the bash $?  variable) will be zero if all went well,
       and nonzero if no devices were  detected	 or  some  other  problem  was
       encountered.

       Note    that    smartmontools	provides    a	start-up   script   in
       /etc/rc.d/init.d/smartd which is responsible for starting and  stopping
       the  daemon  via the normal init interface.  Using this script, you can
       start smartd by giving the command:
       /etc/rc.d/init.d/smartd start
       and stop it by using the command:
       /etc/rc.d/init.d/smartd stop

CONFIGURATION
       The syntax of the smartd.conf(5) file is discussed separately.

NOTES
       smartd will make log entries at loglevel	 LOG_INFO  if  the  Normalized
       SMART  Attribute values have changed, as reported using the ´-t´, ´-p´,
       or ´-u´ Directives. For example:
       ´Device: /dev/hda, SMART Attribute: 194 Temperature_Celsius changed from 94 to 93´
       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 ´-R´ and ´-r´ Directives modify this behavior,  so  that
       the information is printed with the Raw values as well, for example:
       ´Device: /dev/hda, SMART Attribute: 194 Temperature_Celsius changed from 94 [Raw 22] to 93 [Raw 23]´
       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 ´-v Num,Descrip‐
       tion´ Directives described previously.

       Please see the smartctl manual page for further explanation of the dif‐
       ferences between Normalized and Raw Attribute values.

       smartd  will make log entries at loglevel LOG_CRIT if a SMART Attribute
       has failed, for example:
       ´Device: /dev/hdc, Failed SMART Attribute: 5 Reallocated_Sector_Ct´
	This loglevel  is  used	 for  reporting	 enabled  by  the  ´-H´,  -f´,
       ´-l selftest´,  and ´-l error´ Directives. Entries reporting failure of
       SMART Prefailure Attributes should not be ignored: they mean  that  the
       disk is failing.	 Use the smartctl utility to investigate.

       The  Cygwin Version of smartd can be run as a service via the cygrunsrv
       tool. The start-up script provides Cygwin-specific commands to  install
       and remove the service:
       /etc/rc.d/init.d/smartd install [options]
       /etc/rc.d/init.d/smartd remove
       The  service can be started and stopped by the start-up script as usual
       (see EXAMPLES above).

LOG TIMESTAMP TIMEZONE
       When smartd 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 ´TZ´ or using a time-zone file such  as
       /etc/localtime.	 You  may  wish to change the timezone while smartd 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 tzset(3) function of many unix
       standard C libraries, the time-zone stamps of smartd might not  change.
       For some systems, smartd will work around this problem if the time-zone
       is set using /etc/localtime. The work-around fails if the time-zone  is
       set using the ´TZ´ variable (or a file that it points to).

RETURN VALUES
       The return value (exit status) of smartd can have the following values:

       0:     Daemon startup successful, or smartd was killed by a SIGTERM (or
	      in debug mode, a SIGQUIT).

       1:     Commandline did not parse.

       2:     There was a syntax error in the config file.

       3:     Forking the daemon failed.

       4:     Couldn´t create PID file.

       5:     Config file does not exist (only returned	 in  conjunction  with
	      the ´-c´ option).

       6:     Config file exists, but cannot be read.

       8:     smartd ran out of memory during startup.

       9:     A	 compile  time	constant of smartd was too small.  This can be
	      caused  by  an  excessive	 number	 of  disks,  or	 by  lines  in
	      /etc/smartd.conf	that are too long.  Please report this problem
	      to  smartmontools-support@lists.sourceforge.net.

       10:    An inconsistency was found in smartd´s internal data structures.
	      This  should never happen.  It must be due to either a coding or
	      compiler bug.  Please report such failures to smartmontools-sup‐
	      port@lists.sourceforge.net.

       16:    A	 device	 explicitly  listed in /etc/smartd.conf can´t be moni‐
	      tored.

       17:    smartd didn´t find any devices to monitor.

       254:   When in daemon mode, smartd received a SIGINT or SIGQUIT.	 (Note
	      that  in	debug  mode, SIGINT has the same effect as SIGHUP, and
	      makes smartd reload its configuration file. SIGQUIT has the same
	      effect  as SIGTERM and causes smartd to exit with zero exit sta‐
	      tus.

       132 and above
	      smartd was killed by a signal  that  is  not  explicitly	listed
	      above.  The exit status is then 128 plus the signal number.  For
	      example if smartd is killed by SIGKILL (signal 9) then the  exit
	      status is 137.

AUTHORS
       Bruce Allen
       University of Wisconsin - Milwaukee Physics Department
       Christian  Franke  (Windows  interface, C++ redesign, most enhancements
       since 2009)
       smartmontools-support@lists.sourceforge.net

CONTRIBUTORS
       The following have made large contributions to smartmontools:
       Casper Dik (Solaris SCSI interface)
       Douglas Gilbert (SCSI subsystem)
       Guido Guenther (Autoconf/Automake packaging)
       Geoffrey Keating (Darwin ATA interface)
       Eduard Martinescu (FreeBSD interface)
       Frédéric L. W. Meunier (Web site and Mailing list)
       Gabriele Pohl (Web site and Wiki, conversion from CVS to SVN)
       Keiji Sawada (Solaris ATA interface)
       Manfred Schwarb (Drive database)
       Sergey Svishchev (NetBSD interface)
       David Snyder and Sergey Svishchev (OpenBSD interface)
       Phil Williams (User interface and drive database)
       Shengfeng Zhou (Linux/FreeBSD HighPoint RocketRAID interface)
       Many other individuals have made smaller contributions and corrections.

CREDITS
       This code was derived from the smartsuite package, written  by  Michael
       Cornwell,  and  from  the previous UCSC smartsuite package.  It extends
       these to cover ATA-5 disks.  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/ .

HOME PAGE FOR SMARTMONTOOLS:
       Please see the following web site for updates,  further	documentation,
       bug reports and patches: http://smartmontools.sourceforge.net/

SEE ALSO:
       smartd.conf(5),	smartctl(8), syslogd(8), syslog.conf(5), badblocks(8),
       ide-smart(8), regex(7).

REFERENCES FOR SMART
       An introductory article about smartmontools is  Monitoring  Hard	 Disks
       with  SMART,  by Bruce Allen, Linux Journal, January 2004, pages 74-77.
       This is http://www.linuxjournal.com/article/6983 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 smartmontools utilities provide access to.

       The functioning of SMART was originally defined by the SFF-8035i	 revi‐
       sion 2 and the SFF-8055i revision 1.4 specifications.  These are publi‐
       cations of the Small Form Factors (SFF) Committee.

       Links to these and other documents may be found on the  Links  page  of
       the  smartmontools  Wiki	 at http://sourceforge.net/apps/trac/smartmon‐
       tools/wiki/Links .

SVN ID OF THIS PAGE:
       $Id: smartd.8.in 3799 2013-03-15 17:47:25Z chrfranke $

smartmontools-6.2		  2013-07-26			     SMARTD(8)
[top]

List of man pages available for Cygwin

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net