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 ######