From 5cb7fab90cbb926ec6726e5576d15c0f0f38b96f Mon Sep 17 00:00:00 2001 From: Soloam <11949987+soloam@users.noreply.github.com> Date: Sat, 4 May 2019 12:22:51 +0100 Subject: [PATCH] Add Indicator of what field is Warning (#6) I like to look at my email and in a second see what is wrong! Sometimes I get a Warning or Critical Sign and I have to look at all the table, or open my scrip, to see what parameter is out off bounds. So I added a small char to warn me about what column triggered the error/warning. --- smart_report.sh | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/smart_report.sh b/smart_report.sh index 4f42f3a..aaa8069 100644 --- a/smart_report.sh +++ b/smart_report.sh @@ -65,11 +65,11 @@ echo "
" >> ${logfile}
(
echo "########## SMART status report summary for all drives on server ${freenashost} ##########"
echo ""
- echo "+------+------------------+----+-----+-----+-----+-------+-------+--------+------+----------+------+-------+----+"
- echo "|Device|Serial |Temp|Power|Start|Spin |ReAlloc|Current|Offline |Seek |Total |High |Command|Last|"
- echo "| |Number | |On |Stop |Retry|Sectors|Pending|Uncorrec|Errors|Seeks |Fly |Timeout|Test|"
- echo "| | | |Hours|Count|Count| |Sectors|Sectors | | |Writes|Count |Age |"
- echo "+------+------------------+----+-----+-----+-----+-------+-------+--------+------+----------+------+-------+----+"
+ echo "+------+------------------+-----+-----+-----+-----+-------+-------+--------+------+---------+------+-------+----+"
+ echo "|Device|Serial |Temp |Power|Start|Spin |ReAlloc|Current|Offline |Seek |Total |High |Command|Last|"
+ echo "| |Number | |On |Stop |Retry|Sectors|Pending|Uncorrec|Errors|Seeks |Fly |Timeout|Test|"
+ echo "| | | |Hours|Count|Count| |Sectors|Sectors | | |Writes|Count |Age |"
+ echo "+------+------------------+-----+-----+-----+-----+-------+-------+--------+------+---------+------+-------+----+"
) >> ${logfile}
for drive in $drives; do
@@ -103,9 +103,26 @@ for drive in $drives; do
seekErrors="N/A";
totalSeeks="N/A";
}
+
+ if (temp > tempWarn || temp > tempCrit)
+ temp=temp"*"
+
+ if (reAlloc > 0 || reAlloc > sectorsCrit)
+ reAlloc=reAlloc"*"
+
+ if (pending > 0 || pending > sectorsCrit)
+ pending=pending"*"
+
+ if (offlineUnc > 0 || offlineUnc > sectorsCrit)
+ offlineUnc=offlineUnc"*"
+
+ if (testAge > testAgeWarn)
+ testAge=testAge"*"
+
+
if (hiFlyWr == "") hiFlyWr="N/A";
if (cmdTimeout == "") cmdTimeout="N/A";
- printf "|%-6s|%-18s| %s |%5s|%5s|%5s|%7s|%7s|%8s|%6s|%10s|%6s|%7s|%4s|\n",
+ printf "|%-6s|%-18s| %s |%5s|%5s|%5s|%7s|%7s|%8s|%6s|%9s|%6s|%7s|%4s|\n",
device, serial, temp, onHours, startStop, spinRetry, reAlloc, pending, offlineUnc,
seekErrors, totalSeeks, hiFlyWr, cmdTimeout, testAge;
}'
@@ -113,7 +130,7 @@ for drive in $drives; do
done
(
- echo "+------+------------------+----+-----+-----+-----+-------+-------+--------+------+----------+------+-------+----+"
+ echo "+------+------------------+-----+-----+-----+-----+-------+-------+--------+------+---------+------+-------+----+"
) >> ${logfile}
###### for each drive ######