SmartMonTools: Woher weiß ich, ob auf meiner Festplatte ein SmartCTL-Test ausgeführt wird?

40

Ich teste eine Festplatte mit SmartMonTools .

Festplattenstatus vor den Tests (nur ein kurzer Test wurde vor Tagen durchgeführt):

$ sudo smartctl -l selftest /dev/sda
smartctl 6.2 2013-07-26 r3841 [i686-linux-3.16.0-30-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%      5167         -

Also starte ich den langen Test :

$ sudo smartctl -t long /dev/sda
smartctl 6.2 2013-07-26 r3841 [i686-linux-3.16.0-30-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Extended self-test routine immediately in off-line mode".
Drive command "Execute SMART Extended self-test routine immediately in off-line mode" successful.
Testing has begun.
Please wait 130 minutes for test to complete.
Test will complete after Sat May  9 16:05:27 2015

Use smartctl -X to abort test.

Der Test soll dann laufen , aber wenn ich versuche, seinen Fortschritt zu sehen:

$ sudo smartctl -l selftest /dev/sda
smartctl 6.2 2013-07-26 r3841 [i686-linux-3.16.0-30-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%      5167         -

... alles, was ich bekomme, sind die gleichen Ergebnisse, als ob es momentan keine laufenden / durchgeführten Tests gäbe.
Der Parameter '-H' gibt keine weiteren Informationen:

$ sudo smartctl -H /dev/sda
smartctl 6.2 2013-07-26 r3841 [i686-linux-3.16.0-30-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

Und solange kein Prozess ausgeführt wird (dieser Test wird nur vom Festplattencontroller durchgeführt), ps -esollte auch eine Stilsuche nicht helfen.

Wie kann ich feststellen , ob gerade ein SMART-Selbsttest ausgeführt wird ?

Sopalajo de Arrierez
quelle

Antworten:

43

Auf der smartctl -a <device>Suche nach Self-test execution status.

Beispiel, wenn kein Test läuft:

Self-test execution status:      (   0) The previous self-test routine completed
                                        without error or no self-test has ever
                                        been run.

Beispiel während ein Test läuft:

Self-test execution status:      ( 249) Self-test routine in progress...
                                        90% of test remaining.

Beim Ausführen des selektiven Selbsttests ( -t select) wird hier auch ein Fortschritt angezeigt:

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA    MAX_LBA  CURRENT_TEST_STATUS
    1        0  125045423  Self_test_in_progress [90% left] (2881512-2947047)
Frostschutz
quelle
2
Eine gute Idee. Ich schlage vor, diese direkte Linie (durch Greifen) als eine Möglichkeit hinzuzufügen:, smartctl -a /dev/sda | grep "progress" -i -A 1um übermäßigen Info-Ausdruck zu schneiden.
Sopalajo de Arrierez
1
Sie benötigen den übermäßigen Ausdruck, um das gesamte Bild zu erhalten. In einem Skript kann der grep in Ordnung sein, aber die Menschen , die es gewohnt sind grepauf der Kommandozeile alles ( dmesg | grep something, smartctl -a | grep ...usw.), werden sie Dinge vermissen. Mit smartctlinsbesondere gibt es keinen einfachen Befehl, der Dich alles erzählt ist okay ... smartctl -Hist ein falscher Freund in dieser Hinsicht.
Frostschutz
@frostschutz "smartctl -H ist in dieser Hinsicht ein falscher Freund." Können Sie laut sagen! Auch ich bin einmal auf diese Option hereingefallen, weil ich dachte, sie hätte vielleicht mit den Selbsttests zu tun ... aber nein, ganz anderes Thema (und Zweck).
Syntaxfehler
Was kann ich tun, wenn das Gerät die Selbsttest-Protokollierung nicht unterstützt?
Mr.WorshipMe
13

Versuchen :

smartctl -c /dev/sda

Wenn / dev / sda das Laufwerk ist, das Sie überprüfen möchten.

SebM
quelle
Bearbeiten: Entschuldigung. Ich lag falsch. -c steht für --capabilities, zeigt aber auch den aktuellen Testfortschritt an. wie60% of test remaining.
JPT