#!/bin/bash
echo "=== SATA / SAS diszkek hőmérséklete ==="
for disk in /dev/sd?; do
temp=$(smartctl -A "$disk" 2>/dev/null | awk '/Temperature_Celsius|Temperature:/ {print $NF}' | head -n1)
# Ha nem szám, próbáld SCSI móddal
if ! [[ "$temp" =~ ^[0-9]+$ ]]; then
temp=$(smartctl -d scsi -A "$disk" 2>/dev/null | awk '/Current Drive Temperature:/ {print $4}')
fi
model=$(smartctl -i "$disk" 2>/dev/null | awk -F: '/Model|Device Model|Product/ {print $2}' | head -n1 | xargs)
if [[ "$temp" =~ ^[0-9]+$ ]]; then
echo "$disk ($model): ${temp}°C"
else
echo "$disk ($model): nincs adat"
fi
done
echo
echo "=== NVMe diszkek hőmérséklete ==="
for nvme in /dev/nvme?n?; do
temp=$(nvme smart-log "$nvme" 2>/dev/null | awk '/temperature/ {print $3; exit}')
model=$(nvme id-ctrl "$nvme" 2>/dev/null | awk -F: '/mn/ {print $2}' | xargs)
if [[ "$temp" =~ ^[0-9]+$ ]]; then
echo "$nvme ($model): ${temp}°C"
else
echo "$nvme ($model): nincs adat"
fi
done