Register for the iXsystems Community to get an ad-free experience
Resource icon

multi_report.sh version for Core and Scale 1.6e

Western Digital Drives - The Preferred Drives of FreeNAS and TrueNAS CORE
v1.6e (11 November 2022)
- Fixed gptid not showing in the text section for the cache drive (Scale only affected).
- Fixed Zpool "Pool Size" - Wasn't calculating correctly under certain circumstances.
- Added Toshiba MG07+ drive Helium value support.
- Added Alphabetizing Zpool Names and Device ID's.
- Added No HDD Chart Generation if no HDD's are identified (nice for SSD/NVMe Only Systems).
- Added Warranty Column to chart (by request and must have a value in the Drive_Warranty variable).
- Removed Update option in -config since the sript will automatically update now.
- Updated instructions for multiple email addresses.
- Updated instructions for "from:" address, some email servers will not accept the default
-- value and must be changed to the email address of the account sending the email.
- Added the No Text Section Option (enable_text) to remove the Text Section from the email output
-- and display the chart only, if the value is not "true".
- Added Phison Driven SSD attribute for correct Wear Level value.
  • Like
Reactions: PDM
# v1.6d-2 (09 October 2022)
# - Bug fix for NVMe power on hours.
# --- Unfortunately as the script gets more complex it's very easy to induce a problem. And since I do not have
# --- a lot of different hardware, I need the users to contact me and tell me there is an issue so I can fix it.
# --- It's unfortunate that I've have two bug fixes already but them's the breaks.
# - Updated to support more drives Min/Max temps and display the non-existant value if nothing is obtained vice "0".
#
# The multi_report_config file is compatable with version back to v1.6d.
#
# v1.6d-1 (08 October 2022)
# - Bug Fix for converting multiple numbers from Octal to Decimal. The previous process worked "most" of the time
# -- but we always aim for 100% working.
#
# The multi_report_config file is compatable with version back to v1.6d.
#
# v1.6d (05 October 2022)
# - Thanks goes out to ChrisRJ for offering some great suggestions to enhance and optimize the script.
# - Updated gptid text and help text areas (clarifying information)
# - Updated the -dump parameter to -dump [all] and included non-SMART attachments.
# - Added Automatic UDMA_CRC, MultiZone, and Reallocated Sector Compensation to -config advanced option K.
# - Fixed Warranty Date always showing as expired.
# - Added Helium and Raw Read Error Rates to statistical data file.
# - Added Raw Read Error Rates chart column.
# - Added compensation for Seagate Seek Error Rates and Raw Read Error Rates.
# - Added Automatic Configuration File Update feature.
# - Added selection between ZFS Pool Size or Zpool Pool Size. ZFS is representative of the actual storage capacity
# -- and updated the Pool Status Report Summary chart.
# - Added ATA Error Log Silencing (by special request).
# - Added 0.1 second delay after writing "$logfile" to eliminate intermittent file creation errors.
# - Fixed Text Report -> Drive Model Number not showing up for some drives.
# - Added option to email copy of multi_report_config.txt upon any automatic script modification and/or by day.
# v1.6d (05 October 2022)
# - Thanks goes out to ChrisRJ for offering some great suggestions to enhance and optimize the script.
# - Updated gptid text and help text areas (clarifying information)
# - Updated the -dump parameter to -dump [all] and included non-SMART attachments.
# - Added Automatic UDMA_CRC, MultiZone, and Reallocated Sector Compensation to -config advanced option K.
# - Fixed Warranty Date always showing as expired.
# - Added Helium and Raw Read Error Rates to statistical data file.
# - Added Raw Read Error Rates chart column.
# - Added compensation for Seagate Seek Error Rates and Raw Read Error Rates.
# - Added Automatic Configuration File Update feature.
# - Added selection between ZFS Pool Size or Zpool Pool Size. ZFS is representative of the actual storage capacity
# -- and updated the Pool Status Report Summary chart.
# - Added ATA Error Log Silencing (by special request).
# - Added 0.1 second delay after writing "$logfile" to eliminate intermittent file creation errors.
# - Fixed Text Report -> Drive Model Number not showing up for some drives.
# - Added option to email copy of multi_report_config.txt upon any automatic script modification and/or by day.
# -- Future Work
# ---- Change all the -config dialog to be consistent.
# ---- Optimizing Code
Please use Version 1.6c until further notice.

# v1.6d (05 October 2022)
# - Thanks goes out to ChrisRJ for offering some great suggestions to enhance and optimize the script.
# - Updated gptid text and help text areas (clarifying information)
# - Updated the -dump parameter to -dump [all] and included non-SMART attachments.
# - Added Automatic UDMA_CRC, MultiZone, and Reallocated Sector Compensation to -config advanced option K.
# - Fixed Warranty Date always showing as expired.
# - Added Helium and Raw Read Error Rates to statistical data file.
# - Added Raw Read Error Rates chart column.
# - Added compensation for Seagate Seek Error Rates and Raw Read Error Rates.
# - Added Automatic Configuration File Update feature.
# - Added selection between ZFS Pool Size or Zpool Pool Size. ZFS is representative of the actual storage capacity
# -- and updated the Pool Status Report Summary chart.
# - Added ATA Error Log Silencing (by special request).
# - Added 0.1 second delay after writing "$logfile" to eliminate intermittent file creation errors.
# - Fixed Text Report -> Drive Model Number not showing up for some drives.
# - Added option to email copy of multi_report_config.txt upon any automatic script modification and/or by day.
# -- Future Work
# ---- Change all the -config dialog to be consistent.
# ---- Optimizing Code
#
  • Like
Reactions: Davvo
With version 1.6c you may use an external configuration file. Use [-h] to read the Help Section.
Run the program with the [-config] to create a default configuration file in the directory this script is run from.

v1.6c (28 August 2022)
- Supports external configuration file (but not required).
- Completely Configurable by running the script -config parameter (this took a lot of work).
- Added HDD/SSDmaxtempovrd variables to combat some bogus SSD values.
- Added TLER (SCT) support.
- Added support for drives which do not support recording over 65536 hours for SMART Tests and rolls over to start at zero again.
- Added -dump parameter to create and email all of the drives smartctl outputs as text file email attachments.
- Added support for Helium drives.
  • Like
Reactions: awasb
At lines 348 and 349 are two new options: the temperature value and if data does not exist you can change it from "N/A" to "---" (which is now the default).
### Changelog v1.6: (31 July 2022)
# - Complete rewrite of the script. More organized and easier for future updates.
# - Almost completely got rid of using AWK, earlier versions had way too much programming within the AWK structure.
# - Reads the drives much less often (3 times each I believe).
# - Added test input file to pharse txt files of smartctl -a output. This will allow for a single drive entry and ability
# -- for myself or any scri[pt writer to identify additional parameters for unrecognized drives.
# -- Usage: program_name.sh [HDD|SSD|NVM] [inputfile.txt]
# - Added better support for SAS drives.
# - Fixed NVMe and SAS Power On Hours for statistical data recording, and other things.
# - Added Critical and Warning Logs to email output with better descriptive data.
# - Logs (stored in /tmp/) no longer deleted after execution to aid in troubleshooting, but deleted at the start of the script.
# - Added HELP file, use program_name.sh [-h] [-help]
# - Added SCT Error Recovery to the Text Report section.
# - Added Zpool Size, Free Space, and Temp Min/Max.
This is the last of the 1.4c versions. It will handle simultaneous, year-long scrubs! Please report your longest scrub time in the discussion section. Joeshmuck is offering condolence prizes (if the scrub completes).
Top