eszett.nb
Cadet 4th Year
- Registriert
- März 2020
- Beiträge
- 92
In einem anderen Thread ist die Idee entstanden, mittels shell/bash Script den SMART Status meiner zwei NVMe und normalen SSD auszulesen, auszuwerten und eine Desktop-Meldung bzw. kleine Infomail zu versenden.
Ausgang ist der Screenshot von @Freedstorm
Generieren einer Desktop-Meldung
Hilfsmittel zum Auslesen der NVMe ist das Tool nvme-cli welches bei den meisten Distributionen über das Repository installiert werden kann.
Basis Informationen abfragen
Detailierte Geräteinformationen
Kompakte SMART-Übersicht
Erweiterte SMART-Daten auslesen
Hier ein kleines Script, was die wichtigsten Informationen für zwei NVMe zusammenstellt.
Ausgang ist der Screenshot von @Freedstorm
Generieren einer Desktop-Meldung
Bash:
notify-send --icon=gtk-add "Test notification" "I love Computer Base Linux Community... :)"
Hilfsmittel zum Auslesen der NVMe ist das Tool nvme-cli welches bei den meisten Distributionen über das Repository installiert werden kann.
Basis Informationen abfragen
Bash:
sudo nvme list
Detailierte Geräteinformationen
Bash:
sudo nvme id-ctrl /dev/nvme0n1
Kompakte SMART-Übersicht
Bash:
sudo nvme smart-log /dev/nvme0n1
Erweiterte SMART-Daten auslesen
Bash:
sudo nvme smart-log /dev/nvme0n1 --human-readable
Ergänzung ()
Hier ein kleines Script, was die wichtigsten Informationen für zwei NVMe zusammenstellt.
Code:
#!/bin/bash
# NVMe Devices
DEVICES=("/dev/nvme0" "/dev/nvme1")
# Prüfen ob nvme-cli installiert ist
if ! command -v nvme &> /dev/null; then
echo "nvme-cli ist nicht installiert."
exit 1
fi
for DEVICE in "${DEVICES[@]}"; do
if [ ! -e "$DEVICE" ]; then
echo "Device $DEVICE existiert nicht – übersprungen."
continue
fi
echo ""
echo "NVMe SMART Informationen für $DEVICE"
echo "-------------------------------------"
nvme smart-log "$DEVICE" | awk '
/^temperature/ {print "Temperatur: " $3 " °C"}
/^available_spare/ {print "Verfügbare Reserve: " $3 " %"}
/^percentage_used/ {print "Verschleiß (Used): " $3 " %"}
/^data_units_read/ {print "Daten gelesen: " $4 " TB"}
/^data_units_written/ {print "Daten geschrieben: " $4 " TB"}
/^power_on_hours/ {print "Betriebsstunden: " $3 " h"}
/^power_cycles/ {print "Power Cycles: " $3}
/^media_errors/ {print "Medienfehler: " $3}
/^num_err_log_entries/ {print "Fehler-Log Einträge: " $3}
'
done
NVMe SMART Informationen für /dev/nvme0
-------------------------------------
Temperatur: 43 °C
Verfügbare Reserve: 100% %
Verfügbare Reserve: 10% %
Verschleiß (Used): 1% %
Power Cycles: 1362
Betriebsstunden: 3375 h
Medienfehler: 0
Fehler-Log Einträge: 0
NVMe SMART Informationen für /dev/nvme1
-------------------------------------
Temperatur: 44 °C
Verfügbare Reserve: 100% %
Verfügbare Reserve: 10% %
Verschleiß (Used): 0% %
Power Cycles: 582
Betriebsstunden: 1550 h
Medienfehler: 0
Fehler-Log Einträge: 0
-------------------------------------
Temperatur: 43 °C
Verfügbare Reserve: 100% %
Verfügbare Reserve: 10% %
Verschleiß (Used): 1% %
Power Cycles: 1362
Betriebsstunden: 3375 h
Medienfehler: 0
Fehler-Log Einträge: 0
NVMe SMART Informationen für /dev/nvme1
-------------------------------------
Temperatur: 44 °C
Verfügbare Reserve: 100% %
Verfügbare Reserve: 10% %
Verschleiß (Used): 0% %
Power Cycles: 582
Betriebsstunden: 1550 h
Medienfehler: 0
Fehler-Log Einträge: 0
Ergänzung ()
Zuletzt bearbeitet: