Parcourir la source

Script for check standalone HDD status

pmacko il y a 1 semaine
Parent
commit
ffc117891a
1 fichiers modifiés avec 38 ajouts et 0 suppressions
  1. 38 0
      hdd.sh

+ 38 - 0
hdd.sh

@@ -0,0 +1,38 @@
+#!/bin/bash
+#########################################################################
+#                        Script for check HDD state                     #
+#                      Created by Pavol Macko - DoIT                    #
+#                                ver 0.1                                #
+#########################################################################
+
+#------------------------------ VARIABLES ------------------------------#
+SRV=$(hostname -s)
+LOG=/tmp/hdd.log
+test -f $LOG && rm -rf $LOG
+
+#------------------------------ HDD-INFO -------------------------------#
+checkhdd(){
+echo -e "- \e[1;32mExtracting\e[0m HDD info from [\e[1;33m$SRV\e[0m]"
+echo "------------------ ---------------- -------- ----------- ------ -----" > $LOG
+echo "MODEL SERIAL SIZE TYPE CHECK STATUS" >> $LOG
+echo "------------------ ---------------- -------- ----------- ------ -----" >> $LOG
+DRI=$(lsblk --nodeps -n -o name -S)
+for d in $DRI;
+do
+HMOD=$(smartctl -a /dev/$d | grep "Device Model" | awk '{print $NF}')
+HSER=$(smartctl -a /dev/$d | grep "Serial Number" | awk '{print $NF}')
+HCAP=$(smartctl -a /dev/$d | grep "User Capacity" | awk '{print $(NF-1)$NF}')
+HROT=$(smartctl -a /dev/$d | grep "Rotation Rate" | awk '{print $3"-"$4}')
+HHEA=$(smartctl -H /dev/$d | grep overall-health | awk '{print $NF}')
+HERR=$(smartctl -a /dev/$d | grep -i "Error [1-999]" | head -1)
+if [ ! -z "$HERR" ]; then ERR="ERROR"; else ERR="OK"; fi
+echo "$HMOD $HSER $HCAP $HROT $HHEA $ERR" >> $LOG
+done
+}
+
+#---------------------------- QUICK-CHECK ------------------------------#
+#smartctl -t short /dev/sdb
+
+#------------------------------- CORE ----------------------------------#
+checkhdd
+cat $LOG | column -t