Como capturar eventos de montagem no Linux?

3

Eu quero de alguma forma ser notificado se ocorrer uma montagem ou desmontagem de uma unidade USB.

No momento, uso o udev e aguardo x segundos para uma nova entrada em / proc / mounts. Isso funciona bem se a montagem for automática. No entanto, isso não funcionará se o usuário desmontar / montar o dispositivo manualmente.

Existe uma maneira de pegar esses eventos?

    
por Pithikos 01.12.2014 / 13:23

1 resposta

1

Se a sondagem estiver bem, você poderá ver a hora em mtab :

import time, os
last = None
current = None

for x in range(0,60):
    if last == current:
        current = os.stat('/etc/mtab').st_mtime
        print('Current Updated: ', current)
        print('No Changes...')
    else:
        last = current
        print('Last Updated: ',last)
        print('Something was mounted or unmounted')
    time.sleep(1)

Você também pode usar filecmp ou difflib para ver se há alguma alteração e analisar quais alterações ocorreram se você seguir essa rota.

    
por 01.12.2014 / 14:06