Script de pós-desmontagem da Automount

1

Minha intenção é desativar uma unidade USB externa após 20 minutos sem uso. No caso normal, eu usaria hdparm para isso, mas infelizmente isso não funciona na minha unidade USB externa. Isso me dá erros assim:

hdparm -S240 /dev/sdc

/dev/sdc:
 setting standby to 240 (20 minutes)
SG_IO: bad/missing sense data, sb[]:  70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Então eu vou para o sgparm.

sdparm --flexible -C stop /dev/sdc
    /dev/sdc: SAMSUNG   HD153WI 

Ele gira o disco por menos de um segundo e, em seguida, gira imediatamente de novo. Mesmo se o sistema de arquivos não estiver montado.

Então descobri que

eject /dev/sdc

realmente gira o disco, mas também o desmonta.

A próxima ideia era usar o automount para montar a unidade quando alguém acessasse seu caminho de montagem no sistema de arquivos. A montagem funciona, mas após a desmontagem da unidade, ela não desacelera. O que eu quero fazer é executar o comando de ejetar como acima após o automount desmontar a unidade.

Você tem alguma ideia de como fazer isso? Ou melhor, você tem uma solução mais fácil?

    
por Björn Jacobs 18.11.2013 / 21:37

1 resposta

1

Estou razoavelmente seguro de que o automount não possui opções de pós-desmontagem. Mas eu encontrei algo na página man do sdparm (1.07):

-r, --readonly

override other logic to open DEVICE in read-only mode. This option may be useful if a command is being sent to an ATA disk via a SCSI command set. For example in Linux '-C stop' may require this option to stop an ATA disk being restarted immediately.

Eu não tenho um disco rígido USB no momento, so não posso testá-lo, mas isso parece combinar com o problema que você está tendo. Não sei como medir o tempo ocioso da unidade, no entanto.

Se o disco não ficar de fora desta opção, você pode ter encontrado este problema descrito no mesmo manual:

In the Linux 2.6 series, especially with ATA disks, using sdparm to stop (spin down) a disk may not be sufficient and other mechanisms will start the disk again some time later. The user might additionally mark the disk as "offline" with 'echo offline > /sys/block/sda/device/state' where sda is the block name of the disk. To restart the disk "offline" can be replaced with "running".

Você também pode combinar a montagem automática com a ejeção. Isso é usar o automount para montar e ejetar para desmontar. Parece funcionar muito bem, mas ejetar tem que ser executado com permissões de root.

    
por 19.11.2013 / 15:32