[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Festplatte auf Existenz testen
[Thread Prev] | [Thread Next]
- Subject: Re: Festplatte auf Existenz testen
- From: Markus Hochholdinger <Markus@xxxxxxxxxxxxxxxxx>
- Date: Wed, 2 May 2012 22:59:44 +0200
- To: uugrn@xxxxxxxxxxxxxxx
Hallo Werner,
Am 02.05.2012 um 22:49 Uhr schrieb Werner Holtfreter <Holtfreter@xxxxxx>:
> Am Mittwoch, den 02.05.2012, 21:46 +0200 schrieb Markus Hochholdinger:
> > Am 27.04.2012 um 13:59 Uhr schrieb Werner Holtfreter <Holtfreter@xxxxxx>:
[..]
> Eine interne Festplatte soll auf eine SATA-Festplatten im traegerlosen
> Rahmen kopiert werden, *WENN* sie im Rechner steckt. Die Ziel-Festplatte
> kann wechseln, nur der SATA-Anschluss bleibt immer der gleiche.
also kann man davon ausgehen, dass udev funktioniert, wenn der Link
/dev/disk/by-path/.. da ist.
> Nach meiner Kenntnis wird /dev/sdX dynamisch vergeben und kann sich
> durch Wettlaufeffekte beim Booten aendern. Ganz sicher aendert sie sich,
> wenn die Zahl der eingebauten Festplatten variiert, was hier staendig
> vorkommt. Die einzig zuverlaessige Art der Adressierung schien mir daher
> by-path zu sein.
Ja, sdX kann sich aendern, /dev/disk/by-path/.. wird aber der symbolische Link
zum jeweilgen sdX-Device sein!
> Naheliegender Weise koennte ich einfach ein paar Bytes von der Festplatte
> lesen und mit der Fehlerbehandlung verzweigen. Ich frage nur, ob es
> einen einfachen, besseren Weg gibt. Im Idealfall wird dabei auch eine
> vorhandene defekte Platte als vorhanden erkannt, um nicht vorhanden und
> defekt unterscheiden zu koennen.
Es waere jedenfalls der sicherere Ansatz, da Du damit mehrer Fehlerfaelle
abdeckst.
> Hier das bisher genutzte Script. Interessant vielleicht, das man auch cp
> statt dd nehmen kann!
Ein
test -e "$ziel"
sollte Dir anzeigen, ob die Festplatte vom System erkannt wurde. Also z.B. mit
if [ -e "$ziel" ]
then
dobackup
else
echo "Festplatte $ziel nicht angeschlossen."
exit 1
fi
> #! /bin/sh -e
>
> quelle="/dev/disk/by-path/pci-0000:00:09.0-scsi-2:0:0:0"
> ziel="/dev/disk/by-path/pci-0000:00:09.0-scsi-3:0:0:0"
>
> /sbin/hdparm -S 60 $ziel
> # in 5-s-Einheiten, 5 * 120 = 600 s = 10 min
> # in 5-s-Einheiten, 5 * 60 = 300 s = 5 min
> echo "dauert 126 min"
> echo $(date -I;date +%T)" Festplatten werden jetzt kopiert"
> nice -n 19 ionice -c 3 cp $quelle $ziel
> echo $(date -I;date +%T)" Festplatten werden jetzt verglichen"
> nice -n 19 ionice -c 3 diff -s $quelle $ziel
> /sbin/hdparm -y $ziel
> sleep 25
> aplay /usr/share/sounds/speech-dispatcher/test.wav 2> /dev/null
> echo $(date -I;date +%T)" Wechsellaufwerk wurden angehalten, FERTIG"
--
Gruss
\|/
eMHa (o o)
------------------------------------------------------oOO--U--OOo--
Markus Hochholdinger
e-mail mailto:Markus@xxxxxxxxxxxxxxxxx .oooO
www http://www.hochholdinger.net ( ) Oooo.
------------------------------------------------------\ (----( )-
Ich will die Welt veraendern, \_) ) /
aber Gott gibt mir den Quelltext nicht! (_/
--
UUGRN e.V. http://www.uugrn.org/
http://mailman.uugrn.org/mailman/listinfo/uugrn
Wiki: https://wiki.uugrn.org/UUGRN:Mailingliste
Archiv: http://lists.uugrn.org/