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