Conecte-se ao evento linux mount / umount

8

Existe uma maneira de fornecer scripts de pós-montagem e pré-desmontagem no Linux?
Eu estou tentando fazer alguns scripts em mídia de armazenamento quando montado e antes de desmontar (por exemplo, para sincronização).

Qualquer ajuda apreciada.

    
por Jörg Haubrichs 27.03.2010 / 22:25

4 respostas

2

Se você está tentando fazer isso para as pessoas invocando o comando /sbin/mount e /sbin/umount , tudo o que você precisa fazer é criar um programa wrapper para ambos e programar o que quiser para esses programas wrapper.

Um programa wrapper substituindo o /sbin/mount pelo programa wrapper que chama o% real/sbin/mount (renomeado para algo como /sbin/mount-real ou /sbin/umount-real ). Para evitar que alguém chame o programa real, use as permissões do grupo para restringi-lo e defina o bit SGID nos programas wrapper.

Se você deseja corrigir a chamada da biblioteca mount(2) , isso é um esforço e provavelmente difícil e provavelmente não recomendável, pois isso pode causar problemas para o processamento interno dos sistemas, especialmente durante a inicialização e o encerramento.

Mesmo com um programa de wrapper, você provavelmente terá que testá-lo completamente para evitar a interferência do sistema e fazer ajustes apropriados.

    
por 28.03.2010 / 08:22
0

Provavelmente você pode usar o inotify gancho do kernel, embora um evento de pré-desmontagem possa ser realmente complicado de entender, já que eu Não tenho certeza se há um evento inotify enviado antes do diretório ser montado.

    
por 27.03.2010 / 22:36
0

A solução mais simples que provavelmente funcionará para sempre é pesquisar o /etc/mtab ou /proc/mounts . Depois que uma alteração nesse arquivo é feita, significa que algo foi montado ou desmontado. Então você tem que verificar lá para o dispositivo que você deseja.

O Udev não é a melhor solução, pois apenas informa se um dispositivo está conectado. Não diz se o dispositivo realmente montou ou não. Isso pode funcionar às vezes, mas é uma solução hacky que em algum momento vai quebrar e você estará puxando o cabelo para fora.

    
por 02.12.2014 / 12:54
0

você pode escrever uma regra do udev para fazer isso. Eu usei algo como este para fazer backup automaticamente coisas para um drive USB. Coisas divertidas.

    
por 31.10.2010 / 20:21