Como ativar a unidade externa desmontada dentro de um script?

1

Eu tenho um disco rígido em um gabinete externo conectado a uma instalação do servidor 14.04 por um cabo USB 2. Periodicamente, um processo com script Bash verifica se a unidade correta está conectada usando lsblk , coleta uma série de arquivos e os copia para a unidade.
A unidade normalmente está conectada e ligada por alguns dias antes que esse processo ocorra.

Muito ocasionalmente, a unidade não parece estar conectada, parece que entrou em algum tipo de modo de suspensão, do qual é muito lenta para responder. lsblk não retorna nenhum dos detalhes da unidade e meu script responde como se nenhuma unidade estivesse conectada.

Também observei isso fora do script, às vezes verifico as unidades disponíveis com fdisk -l com duas variedades de resultado:

  1. O comando demorará muito mais que o normal antes de retornar detalhes da unidade externa. Nessa situação, executar o comando novamente imediatamente depois retornará todos os resultados na velocidade normal.
  2. O comando é executado lentamente e a unidade externa não será listada na saída. Se eu executar o comando novamente, a unidade aparecerá na saída como normal. Parece que não respondeu rápido o suficiente primeira vez.

Existe um comando que eu possa usar de forma confiável em um script Bash para garantir que a unidade externa esteja "acordada" e pronta para responder?

Suponho que eu poderia usar fdisk -l e redirecionar para /dev/null , mas suspeito que haja um comando mais apropriado.

Se for de alguma utilidade É um Seagate Desktop HDD ST1000DM003 em um gabinete SATA Evo Labs E-U3F.

    
por Arronical 27.04.2018 / 12:27

0 respostas