Wen es interessiert, ich habe hier mal ein kleines Skript geschrieben, mit dem man eine neue Festplatte ausgiebig testen kann um zu sehen, ob sie gleich in den ersten Tagen ausfällt:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | #!/bin/bash # Dieses Script schickt die Festplatte n-mal in den standby Modus # und weckt sie nach t Sekunden wieder auf um dann mit hdparm # bei jedem Durchlauf dreimal einen Test durchzuführen. # Zu testende Festplatte device=/dev/sdb # Anzahl der Durchläufe runs=100 # Wartezeit bis die Festplatte wieder aus dem standby geholt wird. waittime=45 # Skriptanfang: name=`whoami` alarm="/usr/bin/beep -f 3000 -l 1000" print(){ if [ $2 = red ]; then echo -e -n "\033[1;31m"$1"\033[0m" fi; if [ $2 = yellow ]; then echo -e -n "\033[1;33m"$1"\033[0m" fi; if [ $2 = green ]; then echo -e -n "\033[1;32m"$1"\033[0m" fi; } starte(){ echo -e "Stresstest mit diesen Werten starten? (\033[1;31mJ\033[0ma/\033[1;31mN\033[0mein)" boolx=true while $boolx ; do read -n 1 -r eingabe echo # (optional) move to a new line # eingabe=$eingabe case $eingabe in j*|J*) boolx=false print "Starte Stresstest\n" yellow gemountet;; n*|N*) exit 1;; *) esac done } gemountet(){ # Prüfe ob das Laufwerk noch gemountet ist. ergebnis=`df | grep $device | wc | awk '{ print $1 }' ` if [ $ergebnis -gt 0 ]; then print "Das Laufwerk ist noch gemountet.\n" red else # Rufe Stresstestfunktion auf: stresstest fi; } stresstest(){ # Starte den Stresstest for i in $(seq 1 $runs); do print $i red print ". Durchlauf\n" yellow hdparm -y $device print "Warte " green print $waittime yellow print " Sekunden\n" green time sleep $waittime print "Wecke Festplatte aus dem standby\n" yellow print "Beginne Test mit hdparm -t" green hdparm -t $device hdparm -t $device hdparm -t $device done testalarm=`echo $alarm | awk '{ print $1 }'` if [ -f "$testalarm" ]; then $alarm fi print "Fertig." green echo } if [ $name = root ]; then print "Benutzername: " yellow print $name red print "\nTeste Laufwerk: " yellow print $device red print "\nAnzahl der Durchläufe: " yellow print $runs red echo echo starte else print "Dieses Skript funktioniert nur mit root Rechten." green echo fi; |
Auf die Idee gebracht hat mich dazu dieser Blog Eintrag, dort gibt es ein ähnliches einfacheres Skript, nur ist dieses für Windows, die Funktion ist aber die selbe.
http://www.technologyblog.de/2012/05/hdd-burnintest/