Files
Misc-Scripts/ESXi-GetPercDriveTemps.sh

35 lines
1.5 KiB
Bash
Executable File

#!/usr/bin/env bash
# wget -qO- https://git.schroedercity.com/voltron/Misc-Scripts/raw/branch/master/ESXi-GetPercDriveTemps.sh | sh
echo
# echo "----------------------------------------------------------------------------"
# echo " [MODEL] [SERIAL] [TEMPERATURE]"
# echo "----------------------------------------------------------------------------"
for c in $(/opt/lsi/perccli64/perccli64 show | grep PERC | cut -d' ' -f 3); do
controller_info=$(/opt/lsi/perccli64/perccli64 /c${c} show)
echo "----------------------------------------------------------------------------"
echo "- Controller #${c} - [$(echo "${controller_info}" | grep "Product Name" | cut -d'=' -f 2) ]"
echo "----------------------------------------------------------------------------"
for e in $(echo "${controller_info}" | grep " OK" | cut -d' ' -f 2); do
echo " - Enclosure #${e}"
for s in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24; do
info=$(/opt/lsi/perccli64/perccli64 /c${c}/e${e}/s${s} show all)
if [ "$(echo "${info}" | grep "Drive not found")" == "" ]; then
[ ${s} -lt 10 ] && ss="0${s}" || ss=${s}
sn=$(echo "${info}" | grep "SN =" | cut -d'=' -f 2 | sed 's/ //g')
model=$(echo "${info}" | grep "Model Number" | cut -d'=' -f 2)
temp=$(echo "${info}" | grep Temperature | cut -d'=' -f 2)
tmp="${model} (SN:${sn})"
c=0; spc=''; spc1=`expr 44 - ${#tmp}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
echo " - Slot #${ss} -${tmp}${spc}${temp}"
fi
done
done
echo
done
echo
exit 0