Re: smartctl

Top Page

Reply to this message
Author: anne.guilde@free.fr
Date:  
To: guilde
Subject: Re: smartctl
Le 30/05/2018 à 18:10, nt.guilde@??? a écrit :
>>> ,----
>>> | Testing has begun.
>>> | Please wait 2 minutes for test to complete.
>>> | Test will complete after Wed May 30 11:40:12 2018
>>> `----
>>>
>>> pour un long :
>>>
>>> ,----
>>> | Testing has begun.
>>> | Please wait 246 minutes for test to complete.
>>> | Test will complete after Wed May 30 15:45:08 2018
>>> `----
>>
>> Donc gsmartcontrol se base sur cela pour faire une progression de la barre?
>>
>> Il teste peut-être la date du rapport?
>
>    Tu peux le faire aussi :

>
> a="$(smartctl -t short /dev/sda)"
> (( $? )) && { # smartctl returned error
>    echo ERROR : >&2
>    echo "$a" >&2
>    exit 1
> }

>
> end="$(echo "$a" | sed '/Test will complete after /!d; s///')"
> sleep $(( `date +%s -d "end"` - `date +%s` + 60 ))
>


Je viens de tester mais pas avec mon disque de sauvegarde qui n'est pas
accessible et que je n'avais pas envie de mettre en route ;)
J'ai pris mon disque qui a les données (sda)

----
#!/bin/sh

set -x

a="$(smartctl -t short /dev/sda)"
(( $? )) && { # smartctl returned error
echo ERROR : >&2
echo "$a" >&2
exit 1
}

end="$(echo "$a" | sed '/Test will complete after /!d; s///')"
sleep $(( `date +%s -d "end"` - `date +%s` + 60 ))
----

=>
----
# ./test-BorgUSB-sda-debian-1
+ smartctl -t short /dev/sda
+ a=smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.9.0-6-amd64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Short self-test routine immediately in
off-line mode".
Drive command "Execute SMART Short self-test routine immediately in
off-line mode" successful.
Testing has begun.
Please wait 2 minutes for test to complete.
Test will complete after Thu May 31 10:39:14 2018

Use smartctl -X to abort test.
+ 0
./test-BorgUSB-sda-debian-1: 6: ./test-BorgUSB-sda-debian-1: 0: not found
+ echo smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.9.0-6-amd64] (local
build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Short self-test routine immediately in
off-line mode".
Drive command "Execute SMART Short self-test routine immediately in
off-line mode" successful.
Testing has begun.
Please wait 2 minutes for test to complete.
Test will complete after Thu May 31 10:39:14 2018

Use smartctl -X to abort test.
+ sed /Test will complete after /!d; s///
+ end=Thu May 31 10:39:14 2018
+ date +%s -d end
date: date incorrecte « end »
+ date +%s
+ sleep -1527755774
sleep : option invalide -- '1'
Saisissez « sleep --help » pour plus d'informations

----

Le script n'est pas tout à fait au point
Cela lance bien le test de smart.

Mais la suite avec sed, pas tout compris

J'ai mis 2 sessions de ligne de commande, l'une où je lance le script et
l'autre où j'utilise ce que Dominique a filé

smartctl -a /dev/sda | grep -A1 "Self-test execution status:"

=>
----
# smartctl -a /dev/sda | grep -A1 "Self-test execution status:"
Self-test execution status:      ( 245)    Self-test routine in progress...
                    50% of test remaining.
# smartctl -a /dev/sda | grep -A1 "Self-test execution status:"
Self-test execution status:      ( 244)    Self-test routine in progress...
                    40% of test remaining.
# smartctl -a /dev/sda | grep -A1 "Self-test execution status:"
Self-test execution status:      ( 243)    Self-test routine in progress...
                    30% of test remaining.
# smartctl -a /dev/sda | grep -A1 "Self-test execution status:"
Self-test execution status:      (   0)    The previous self-test routine 
completed
----


Comment tester si c'est fini?
S'il n'y a pas d'erreur, peut-être pas besoin d'envoyer un mail?
S'il y a une erreur, j'ai cru comprendre que smart prévenait par mail?

> #retrouver le rapport, débrancher le disque, exit 0
>
>    Personnellement, je ne ferais pas cela, mais plutôt ceci :
>    - manuellement, faire, de temps en temps, une sauvegarde ;
>    - manuellement, faire, de temps en temps, un test du disque.

>
>    Une fois par mois, ce serait déjà bien.


Sauvegarde journalière de ma debian avec borg... C'est aussi en place
comme pour mon serveur avec rsync.
J'ai investi dans des boîtiers usb il y a quelques mois...

Par contre pour smart, une fois par semaine à la main, si j'y pense. :)
A moins que je trouve la bonne solution pour tester que c'est vraiment
fini avant de mettre pour disque en standby.

Anne