[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/