ubuntuusers.de

Rückgabewert ob ein short test läuft (smartctl, bash)

Status: Ungelöst | Ubuntu-Version: Ubuntu GNOME 14.04 (Trusty Tahr)
Antworten |

phill971

Anmeldungsdatum:
4. April 2016

Beiträge: Zähle...

Hallo zusammen,

ich möchte ein Script (Bash) schreiben, welches mit smartctl einen short test ausführt und wenn dieser zu Ende ist die Smartwerte ausgibt mit -a. Allerdings weiß ich nicht so recht, wie ich herausfinde, ob ein short test noch läuft?

Mit

1
smartctl -t short /dev/sda

starte ich den Test. Ich kann unter

1
smartctl -a /dev/sda

sehen, ob der Test fertig ist oder noch läuft, allerdings brauche ich einen definierten Rückgabewert, ob gerade der Selftest läuft, da das Script erst dann weiter laufen soll. Das Script soll, wenn es fertig ist, in ein Debian Live eingebunden werden und dort seine Arbeit verrichten..

Hoffentlich hat jemand von euch eine Idee, Lösung oder einen Workaround parat.

Danke und liebe Grüße Phill

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13175

Du könntest mit

1
sudo smartctl -a /dev/sda | sed -n '/^SMART Selective self-test/,$p'

den Teil ausschneiden, der den Test-Status meldet und dann ein grep -q hinten dran hängen.

1
2
3
while sudo smartctl -a /dev/sda | sed -n '/^SMART Selective self-test/,$p' | fgrep -qi running; do
  sleep 1
done

Wobei ich nicht weiß, ob "running" ein passender Suchbegriff wäre.

Antworten |