[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Festplatte auf Existenz testen


Hallo Werber,

Am 27.04.2012 um 13:59 Uhr schrieb Werner Holtfreter <Holtfreter@xxxxxx>:
> wie kann ich in einem Linux-Shell-Script pruefen, ob an
>         /dev/disk/by-path/pci-0000:00:09.0-scsi-3:0:0:0
> eine Festplatte steckt? (In diesem Fall soll ein Backup-Script laufen.)

ich verwende fuer solche Faelle gerne blockdev:
blockdev --getsize64 /dev/disk/by-path/pci-0000:00:09.0-scsi-3:0:0:0

Wenn das mit Exit-Code 0 und einem Wert groesser 0 auf stdout antwortet, ist 
sehr wahrscheinlich ein Blockdevice dahinter angeschlossen. Problematisch ist, 
dass die Antwort auch im Cache landet und nach erneutem Aufruf garnichtmehr 
direkt die Festplatte gefragt wird.

Alternativ koennte man noch udev fragen, aber da Du ja davon ausgehst, dass 
"disk/by-path" da ist (zumindest nehme ich das an), die Festplatte aber evtl. 
nicht, dann hat es udev auch nicht mitbekommen.

Evtl. willst Du aber auch in /sys/block/ nachschauen? Dort kannst Du z.B. in 
/sys/block/sdX/size auch die Groesse abfragen.

Wenn ich wuesste, wieso Du genau auf /dev/disk/by-path/pci-0000:00:09.0-
scsi-3:0:0:0 losgehst, kann ich Dir vlt. besser weiterhelfen? Der Pfad ist 
auch nur ein symbolischer Link zu /dev/sdX welcher ueber udev angelegt wird.


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