Distingue automaticamente a diferença entre vários HDDs no linux?

1

Estou executando o Ubuntu Server 9.10. Eu tenho dois HDDs USB externos. Eu os uso cada um por diferentes motivos de backup. Portanto, certos dados são armazenados em um disco rígido e informações diferentes são armazenadas no outro disco rígido.

Eu quero fazer um script que pode olhar para o disco rígido externo pode determinar qual HDD é, para que ele possa copiar as informações adequadas para ele. Existe uma maneira de o Linux determinar isso? Como se eu visse um disco rígido como / dev / sdc1, então desconecte-o e conecte o outro disco rígido, caso o Linux o veja como / dev / sdd1 ou será / dev / sdc1?

Eu sou um pouco mais de um Linux newb e não entendo como ele determina os valores / dev / sdxx que ele atribui às unidades.

    
por Jake Wilson 14.02.2010 / 08:38

3 respostas

6

A identificação do dispositivo de armazenamento pode ser executada usando o UUID do dispositivo. Identificação baseada em / dev / sd * não é confiável.

No ubuntu 9.10 você pode usar blkid para listar os dispositivos ' UUID e você pode usar este comando em um script para identificar adequadamente um HDD específico pois UUID são atribuídos exclusivamente a um HDD específico .

Você pode encontrar mais informações aqui , mas observe que o comando vol_id não está disponível desde o ubuntu 9.10.

    
por 14.02.2010 / 09:35
1

Isso pode ser considerado uma solução alternativa e não uma resposta direta à sua pergunta, mas minha abordagem para esse problema é criar um arquivo diferente em cada disco rígido.

Eu tenho vários HDDs externos, então eu uso touch para criar um arquivo de zero bytes como 'Music' em um, ou 'Videos' em outro, e então meu script de backup pode detectar o que escrever nele. / p>

Eu faço espero que você tenha uma resposta definitiva para sua pergunta. Eu estarei interessado em ver isso.

    
por 14.02.2010 / 08:57
1

Respondendo apenas à minha própria pergunta para referência futura de qualquer outra pessoa ...

Descobri que um bom método para distinguir entre dispositivos é apenas dar rótulos usando e2label .

Além disso, posso distinguir entre dispositivos aqui

/dev/disk/by-label/

e

/dev/disk/by-uuid
    
por 30.03.2010 / 20:14