¿Hay alguna manera de proporcionar scripts posteriores al montaje y al desmontaje en Linux?
Estoy tratando de hacer algunos scripts en los medios de almacenamiento cuando están montados y antes de desmontarlos (por ejemplo, para sincronizarlos).
Cualquier ayuda apreciada.
Respuestas:
Si está intentando hacer esto para las personas que invocan el comando
/sbin/mount
y/sbin/umount
, todo lo que tendría que hacer es crear un programa envoltorio para ambos y programar lo que desee en estos programas envolventes.Un programa contenedor que se reemplaza
/sbin/mount
por el programa contenedor que llama al real/sbin/mount
(renombrado a algo como/sbin/mount-real
o/sbin/umount-real
). Para evitar que alguien llame al programa real, use permisos de grupo para restringirlo y establezca el bit SGID en los programas de envoltura.Si está buscando arreglar la
mount(2)
llamada a la biblioteca, bueno, eso es un esfuerzo y probablemente difícil y probablemente no aconsejable, ya que esto podría causar problemas para el procesamiento de los sistemas internos, especialmente durante el inicio y el apagado.Incluso con un programa envoltorio, probablemente tenga que probarlo a fondo para evitar interferencias en el sistema y hacer los ajustes adecuados.
fuente
Probablemente pueda usar el enlace de kernel inotify , aunque un evento previo al desmontaje puede ser realmente difícil de detectar, ya que no estoy seguro de si hay un evento inotify enviado antes de que se desmonte el directorio.
fuente
/media
o/mnt
), pero no si se ha montado un sistema de archivos en ese directorio.La solución más simple que probablemente funcionará para siempre es sondear el
/etc/mtab
o/proc/mounts
. Una vez que se realiza un cambio en ese archivo, significa que algo se ha montado o desmontado. Luego, debe verificar allí el dispositivo que desea.Udev no es la mejor solución, ya que solo te dice si hay un dispositivo conectado. No dice si el dispositivo realmente se ha montado o no. Esto puede funcionar a veces, pero es una solución extravagante que en algún momento se romperá y te arrancarás el pelo.
fuente
podrías escribir una regla de udev para hacer eso. He usado algo como esto para hacer una copia de seguridad automática de las cosas en una unidad usb. Cosas divertidas.
fuente