SMARTD.CONF(5) SMART Monitoring Tools SMARTD.CONF(5) (NAME) smartd.conf - SMART (DESCRIPTION) [ smartmontools . .] /etc/smartd.conf smartd . /etc/smartd.conf smartd . smartd HUP . smartd INT . smartd . smartd ( smartd(8) ). 'DEVICESCAN -a' . ATA SCSI SMART . . /etc/smartd.conf smartd . . smartmontools . /usr/share/doc/smartmontools/ . (root) . : o () . o '#' . o '\' . o : '#' . . (DIRECTIVES) ! ################################################ # smartd # /etc/smartd.conf # # # . # /dev/sda -a -m admin@example.com,root@localhost /dev/sdb -a -I 194 -I 5 -i 12 -s L/../../7/03 # # . # /dev/sdc -m admin@example.com -M test # # ATA SCSI # . SCSI ATA (SAT) # '-d sat' . /dev/sda -a -d sat # # MegaRAID # - - # - . # : /dev/sda -d megaraid,0 -a -s S/../.././01 /dev/sda -d megaraid,1 -a -s S/../.././02 /dev/sda -d megaraid,2 -a -s S/../.././03 /dev/bus/0 -d megaraid,2 -a -s S/../.././03 # # AacRaid # - - # - . /dev/sda -d aacraid,0,0,66 -a -s S/../.././01 /dev/sda -d aacraid,0,0,67 -a -s S/../.././02 /dev/sda -d aacraid,0,0,68 -a -s S/../.././03 # # SATA ( SAS) 3ware 9750. # # - . # /dev/twl0 -d 3ware,0 -a -s L/../../7/00 /dev/twl0 -d 3ware,1 -a -s L/../../7/02 # # HP SmartArray # cciss . # # root. /dev/sda -d cciss,0 -a -s (L/../../7/02|S/../.././02) -m root /dev/sda -d cciss,1 -a -s (L/../../7/03|S/../.././03) -m root # # SATA HighPoint RocketRAID. # - - # - . # /dev/sde -d hpt,1/1 -a -s S/../.././01 /dev/sde -d hpt,1/2 -a -s S/../.././02 /dev/sde -d hpt,1/3 -a -s S/../.././03 # # SATA HighPoint RocketRAID # pmport. # - . # /dev/sde -d hpt,1/4/1 -a -s L/../../7/00 /dev/sde -d hpt,1/4/2 -a -s L/../../7/02 # # SATA # Areca RAID. # . # /dev/sg2 -d areca,1 -a -s L/../../7/00 /dev/sg2 -d areca,2 -a -s L/../../7/01 /dev/sg2 -d areca,3 -a -s L/../../7/02 # # ATA . # Prefailure Usage # : # /dev/sdd -l error \ -l selftest \ -t \ # : -I 194 \ # -I 231 \ # -I 9 # (power-on hours) # ################################################ (DEVICESCAN) DEVICESCAN smartd . DEVICESCAN '-a' . DEVICESCAN . : DEVICESCAN -m root@example.com . . DEVICESCAN -H -m root@example.com SMART '-a'. '-d TYPE' DEVICESCAN TYPE . DEVICESCAN . : DEFAULT -m root@example.com /dev/sda -s S/../.././02 /dev/sdc -d ignore DEVICESCAN -s L/../.././02 /dev/sda /dev/sdc . /dev/sda . /dev/sdc . . DEVICESCAN . . ( WWN) . [NVMe: SMARTD 7.5] (Namespace) DEVICESCAN ( ). (DEFAULT SETTINGS) DEFAULT . : DEFAULT -a -R5! -W 2,40,45 -I 194 -s L/../../7/00 -m admin@example.com /dev/sda /dev/sdb /dev/sdc DEFAULT -H -m admin@example.com /dev/sdd /dev/sde -d removable : /dev/sda -a -R5! -W 2,40,45 -I 194 -s L/../../7/00 -m admin@example.com /dev/sdb -a -R5! -W 2,40,45 -I 194 -s L/../../7/00 -m admin@example.com /dev/sdc -a -R5! -W 2,40,45 -I 194 -s L/../../7/00 -m admin@example.com /dev/sdd -H -m admin@example.com /dev/sde -d removable -H -m admin@example.com (CONFIGURATION FILE DIRECTIVES) DEVICESCAN DEFAULT /etc/smartd.conf . smartd . . '-a' . -d TYPE . : auto - USB . . ata - ATA . SCSI ATA smartd . scsi - SCSI . ATA SCSI smartd . nvme[,NSID] - NVM Express (NVMe) . NSID ( ) . (Broadcast) 0xffffffff . NSID . sat[,auto][,N] - SCSI ATA (SAT) . ATA SCSI ATA (SATL) . SAT SCSI (PASS THROUGH) ATA . '-d sat,12' '-d sat,16' . '-d sat,auto' SAT ( ATA/SATA) SCSI INQUIRY SATL (: "ATA "). SCSI ( SCSI/SAS) . usbasm1352r,PORT - [ SMARTD 7.4] SATA USB SATA (RAID) ASMedia ASM1352R . PORT ( 0 1) . : USB '-d sat' . . usbcypress - ATA USB PATA Cypress . scsi ATACB . SCSI 0x24 '-d usbcypress,0xN' ( N scsi ) . usbjmicron[,p][,x][,PORT] - SATA USB PATA/SATA JMicron . ATA ( '-l xerror' ) . '-d usbjmicron,x' . PORT ( 0 1) . (Port Multiplier) PORT . /dev . : ',x' / . PORT . USB Prolific PL2507/3507 JMicron '-d usbjmicron,0' . Prolific '-d usbjmicron,p' . SMART . usbprolific - SATA USB SATA Prolific PL2571/2771/2773/2775 . usbsunplus - SATA USB SATA SunplusIT . sntasmedia[/sat] - NVMe USB NVMe ASMedia . [ SMARTD 7.5] '/sat' NVMe '-d sat' . USB M.2 NVMe SATA . sntjmicron[,NSID][/sat] - NVMe USB NVMe JMicron . NSID ( ) . (0xffffffff) . '/sat' '-d sntasmedia' . sntrealtek[/sat] - NVMe USB NVMe Realtek . '/sat' '-d sntasmedia' . marvell - [ ] ( ). megaraid,N - [ FreeBSD ] SCSI/SAS MegaRAID . N ( ) . Dell PERC . megaraid_disk_XXX XXX 000 127 . smartctl(8) . aacraid,H,L,ID - [ Cygwin] SCSI/SAS SATA AacRaid . H,L,ID ( Lun ID) . aacraid_disk_HH_LL_ID . smartctl(8) . 3ware,N - [ FreeBSD ] ATA 3ware RAID . N ( ) . 3ware_disk_XXX XXX 000 127 . SCSI 3ware /dev/tw* ( 3ware) SCSI 3ware . smartctl(8) . areca,N - [ FreeBSD Cygwin] SATA Areca SATA RAID . N ( ) . areca_disk_XX XX 01 24 . smartctl(8) . areca,N/E - [ FreeBSD Cygwin] SATA SAS Areca SAS RAID . N ( ) () E ( ) (Enclosure) . : 1.51 Areca SAS . cciss,N - [ FreeBSD ] SCSI/SAS SATA cciss RAID . N ( ) . cciss_disk_XX XX 00 127 . smartctl(8) . hpt,L/M/N - [ FreeBSD ] ATA HighPoint RocketRAID . L M N PMPort . L M N PMPort . HighPoint RocketRAID . hpt_X/X/X X/X/X L/M/N N N . smartctl(8) . sssraid,E,S - [ : SMARTD 7.4] SCSI/SAS SATA SSSRAID . E ( ) S ( ) . smartctl(8) . intelliprop,N[+TYPE] - ( ). jmb39x[-q[2]],N[,sLBA][,force][+TYPE] - SATA JMicron JMB39x RAID . '-q' (NAS) QNAP TR-004 . N 0 4 . [ SMARTD 7.5] '-q2' QNAP TR-002 . smartctl(8) . jms56x,N[,sLBA][,force][+TYPE] - SATA JMicron JMS56x USB SATA RAID . 'jmb39x...' . ignore - . DEVICESCAN . . '-d' . removable - . smartd smartd ( ). . '-d' . : smartd . -n POWERMODE[,N][,q] [ ATA] 'nocheck' (Spin-up) smartd . ATA . : 'OFF' 'SLEEP' 'STANDBY' 'IDLE' 'ACTIVE'. OFF SLEEP STANDBY . SMART smartd . smartd . smartd SLEEP smartd smartd . smartd . '-n' (nocheck) smartd . smartd . POWERMODE : never - smartd () . ( ) smartd . '-n' . sleep - SLEEP . standby - SLEEP STANDBY . smartd . idle - SLEEP STANDBY IDLE . IDLE . ( ) ',N' POWERMODE ( '-n standby,15'). N . smartd . ',q' POWERMODE ( '-n standby,q'). . ',N' ',q' . -T TYPE smartd SMART . : normal - SMART SMART . . permissive - SMART . ( ATA-3 4) SMART ATA/ATAPI SMART . [ smartctl -T .] -o VALUE [ ATA] smartd SMART (Automatic Offline Testing) . on off . . SMART ATA . smartctl -o . -S VALUE (Attribute Autosave) smartd . on off . SCSI . [ smartctl -S .] -H [MASK] . LOG_CRIT syslog . [ smartctl -H .] [ATA] SMART RETURN STATUS . MASK . [SCSI] Additional Sense Code (ASC) Additional Sense Code Qualifier (ASCQ) Informal Exceptions (IE) ( ) / SCSI . MASK . : SCSI '-H' . [NVMe] " (Critical Warning)" SMART . LOG_CRIT syslog . [NVMe: SMARTD 7.5] MASK () MASK . '-H 0xf9' (" ") (" ") . '-H 0xff' '-H' . -l TYPE SMART . : error - [ATA] ATA SMART . error - [NVMe] " " /SMART . [ SMARTD 7.4] LOG_CRIT . LOG_INFO . NVMe / . ( ...) LOG_INFO . . xerror - [ATA] ATA SMART . '-l error' '-l xerror' smartd . [ smartctl -l xerror .] xerror - [NVMe] '-l error' . selftest - [ATA] [SCSI] [NVMe: SMARTD 7.5] SMART . ( !). smartd '-s' . '-t short' '-t long' smartctl smartctl '-l selftest' . [ smartctl -l -t .] [ATA] [NVMe: SMARTD 7.5] . . . [NVMe: SMARTD 7.5] . . offlinests[,ns] - [ ATA] (Offline Data Collection) . LOG_CRIT . '-l offlinests' '-a' . ',ns' (no standby) . selfteststs[,ns] - [ATA] [NVMe: SMARTD 7.5] . LOG_CRIT . ',ns' (no standby) . scterc,READTIME,WRITETIME - [ ATA] smartd SCT ( ) . 0 65 . RAID 70,70 . [ smartctl -l scterc .] -e NAME[,VALUE] SMART smartd . [ smartctl --set .] : aam,[N|off] - [ ATA] (AAM) . apm,[N|off] - [ ATA] (APM) . lookahead,[on|off] - [ ATA] (read look-ahead) . security-freeze - [ ATA] ATA (frozen) . standby,[N|off] - [ ATA] ( ) IDLE . wcache,[on|off] - [ ATA] (Volatile Write Cache) . dsn,[on|off] - [ ATA] DSN . -s REGEXP . T/MM/DD/d/HH REGEXP . : T . smartd ( ) : 'L' (LONG) 'S' (SHORT) 'C' (CONVEYANCE ATA) 'O' (OFFLINE ATA). . [NVMe: SMARTD 7.5] NVMe 'L' NVMe 'S' NVMe . . [ ATA] 'n' (next span) 'r' (redo last span) 'c' . LBA . smartctl -t select,[next|redo|cont] . ( ) / . ( '-s') smartd ( ) . MM . 01 () 12 () . ! DD . 01 31 . ! d . 1 () 7 () . HH . 00 ( ) 23 ( ) . ! :NNN :NNN-LLL NNN LLL (Staggered) . ( ) T/MM/DD/d/HH:NNN ( T/MM/DD/d/HH:NNN-LLL) . :NNN :NNN-LLL . NNN 2*NNN . LLL LLL : '((DRIVE_INDEX * NNN) mod (LLL + 1))'. . '.' '(A|B|C)' A B C . : -s S/../.././02 : -s L/../../7/04 : -s L/../../7/04:003 0 3 6 9 1 4 7 10 2 5 8 0 ... : -s L/../../7/04:003-010 0 1 2 ... 9 10 0 ... : -s L/../../7/04:001-010 : -s L/../(01|15)/./22 : -s (O/../.././(00|06|12|18)|S/../.././01|L/../../6/03) : -s (O/../.././(00|06|12|18)|S/../.././01|L/../../6/03:003) . ( ) : smartctl -t select,0-99999999 /dev/sda smartd : -s n/../../[1-5]/12 REGEXP . smartd . '-i' : REGEXP . . smartd . . smartd . smartd ( '-q onecheck' ). smartd SYSLOG . '-q showtests' REGEXP . (L S C O) . . ( '-s') smartd ( ) . ( ) . '-n' (Standby) . : [regex(7)] [glob(7)] . smartd REGEXP . -m ADD '-H' '-l error' '-l xerror' '-l selftest' '-f' '-C' '-U' '-W' SMART ADD . ( '-a') . ( '-s') . '-M' . " " : user1@add1,user2@add2,...,userN@addN ( ). '-M test' smartd . mail(1) . smartd ( /usr/bin/mail) smartd . ( /usr/local/bin/mail) '-M exec' . '-M exec' '-m' . . STDERR/STDOUT SYSLOG . . . smartd '-d' '-M test' . '@plugin' /usr/share/smartmontools/smartd_warning.d/plugin . 'plugin' 'ALL' . '@ALL' /usr/share/smartmontools/smartd_warning.d/* . /usr/share/smartmontools/smartd_warning.sh ( '-M exec' ). . . -M TYPE smartd '-m' . '-M' '-m' . -M . -M (: -M once -M daily) ( -M daily) . -M ( ): once - . ( '-s') . always - [ SMARTD 7.4] . daily - . ( '-s') . diminishing - . . [ SMARTD 7.4] . . . : test - smartd . . smartd '-m' ! exec PATH - smartd mail PATH . PATH . PATH smartd ( ). smartd PATH (block) smartd . /usr/share/doc/smartmontools/examplescripts/ . smartd SYSLOG . STDOUT STDERR . SYSLOG . . smartd . . smartd : SMARTD_MAILER -M exec 'mail' (: /usr/local/bin/mail, mail). SMARTD_DEVICE (: /dev/sda). SMARTD_DEVICETYPE '-d' 'auto' . SMARTD_DEVICESTRING . SMARTD_DEVICE (: /dev/sda [SAT]). . SMARTD_DEVICEINFO . smartctl -i . smartd . . SMARTD_FAILTYPE . : EmailTest: . Health: SMART . Usage: (Usage) . SelfTest: . ErrorCount: ATA . CurrentPendingSector: () ( ). OfflineUncorrectableSector: . Temperature: ( -W ). FailedHealthCheck: SMART . FailedReadSmartData: SMART . FailedReadSmartErrorLog: SMART . FailedReadSmartSelfTestLog: SMART . FailedOpenDevice: open() . SMARTD_ADDRESS ADD '-m' . ADD SMARTD_ADDRESS . ADD (: admin@example.com root). . SMARTD_ADDRESS_ORIG SMARTD_ADDRESS '@plugin' . '-m' . SMARTD_MESSAGE smartd . . $SMARTD_MESSAGE . SMARTD_FULLMESSAGE smartd . (Newline) . $SMARTD_FULLMESSAGE . SMARTD_TFIRST . . : Sun Feb 9 14:58:19 2003 CST SMARTD_TFIRSTEPOCH ( ) SMARTD_TFIRST . SMARTD_PREVCNT . '0' . SMARTD_NEXTDAYS . '-M once' '-M always' '0' '-M daily' '1' . '-m ADD' PATH STDIN : -s "$SMARTD_SUBJECT" $SMARTD_ADDRESS 'mail' . : -m user@home -M exec /usr/bin/mail -m admin@work -M exec /usr/local/bin/mailto -m root -M exec /Example_1/shell/script/below '-m ADD' PATH STDIN : -m -M exec /Example_2/shell/script/below STDERR/STDOUT smartd SYSLOG . . '-M exec' . /usr/share/doc/smartmontools/examplescripts/ . /usr/share/smartmontools/smartd_warning.sh . SMARTD_MESSAGE smartd . SMARTD_SUBJECT SMARTD_FULLMESSAGE . -f [ATA] ('failure') (Usage Attributes). . " ." [ smartctl -A .] [NVMe: SMARTD 7.5] /SMART "Percentage Used" "Media and Data Integrity Errors" LOG_CRIT . -p [ATA] (Prefail Attribute) . [ smartctl -A .] [NVMe: SMARTD 7.5] /SMART "Available Spare" . LOG_CRIT "Available Spare Threshold" . -u [ATA] (Usage Attribute) . [ smartctl -A .] [NVMe: SMARTD 7.5] /SMART "Percentage Used" "Media and Data Integrity Errors" . -t '-p' '-u'. -i ID [ ATA] ID . ID . '-f' . ( ) . . -I ID [ ATA] ID . ID . '-p' '-u' '-t' . ( ). . . -r ID[!] [ ATA] (Raw) ID (Normalized) ( ) . ID . '-p' '-u' '-t' . . ( ID=194 231). '!' . LOG_CRIT '-m' . -R ID[!] [ ATA] (Raw) ID . ( smartd Normalized ). ID . '-p' '-u' '-t' . . '-r' . ( ID=194 231). . '!' . LOG_CRIT '-m' '-R 5!' . -C ID[+] [ ATA] . ID (Current Pending Sector count) . ID . ID = 0 . -C ID -C 197 ( ). '-v 197,FORMAT,NAME' -C 0 . '+' . . '-v 197,increasing' . . . ( ) "" . (ECC) . . . ( ) . -U ID[+] [ ATA] (Offline Uncorrectable Sectors) . ID . ID . ID = 0 . -U ID -U 198 ( ). '-v 198,FORMAT,NAME' ( '-v 198,FORMAT,Offline_Scan_UNC_SectCt') -U 0 . '+' . . '-v 198,increasing' . . . . . '-C' . -W DIFF[,INFO[,CRIT]] DIFF . INFO CRIT . CRIT LOG_CRIT syslog '-m' . INFO LOG_INFO . INFO ( INFO CRIT-5 ) . ( '-s') . . 0 . . ('-W 0'). : -W 2 : -W 0,40 / : -W 0,0,45 : -W 2,40,45 [ATA] smartd . '-v 9,temp' '-v 220,temp' . [NVMe] smartd (Composite Temperature) SMART/HealthInformation . [ SMARTD 7.5] . -F TYPE [ ATA] smartd . . : none - ATA . '-F' . . nologdir - SMART GP . . SSD 0 . samsung - (: SV4012H RM100-08) SMART ( ATA) (Byte- swapped) . smartd . : () () ATA ATA () ATA. samsung2 - ATA . smartd . samsung3 - ( SP2514N VF100-37) . smartd ( '-s' ) . xerrorlba - smartctl . [ smartctl -F .] -v ID,FORMAT[:BYTEORDER][,NAME] [ ATA] (Attribute ID) . . smartctl -v . smartd : 197,increasing - ( ) . '-C' '-C 197+' . 198,increasing - ( ) . '-U' '-U 198+' . -P TYPE [ ATA] smartd . : use - . . ignore - . show - . showall - . [ smartctl -P .] -a : '-H -f -t -l error -l selftest -l selfteststs' '-a' . [ ATA] : '-C 197 -U 198' . -c OPTION=VALUE smartd . OPTION : -c i=N, -c interval=N N N . . '-i N, --interval=N' . # : . \ : . smartctl () SMART . syslog smartd : -H -l selftest -l error -f. -a . '-M exec' '-M exec PATH' . PATH '-M exec PATH' . : '-m ADDRESS -M exec PATH' . smartctl -a smartd ADDRESS . #! /bin/sh # (STDIN) : cat > /root/msg # smartctl -a : /usr/bin/smartctl -a -d $SMART_DEVICETYPE \ $SMARTD_DEVICE >> /root/msg # ADD: /usr/bin/mail -s "$SMARTD_SUBJECT" $SMARTD_ADDRESS \ < /root/msg : '-m -M exec PATH' . . #! /bin/sh # wall < sleep 30 # /sbin/shutdown -hf now smartmontools /usr/share/doc/smartmontools/examplescripts/ . root / /tmp (Symlink attacks) . STDOUT STDERR STDOUT/STDERR SYSLOG . . (FILES) /etc/smartd.conf . (SEE ALSO) smartd(8), smartctl(8), mail(1), regex(7). (PACKAGE VERSION) smartmontools-7.5 2025-04-30 r5714 $Id: smartd.conf.5.in 5697 2025-04-22 15:02:53Z chrfranke $ smartmontools-7.5 2025-04-30 SMARTD.CONF(5)