existe-t-il un moyen de fournir des scripts post-montage et pré-démontage sous Linux?
J'essaie de faire des scripts sur des supports de stockage lorsqu'ils sont montés et avant le démontage (par exemple, pour la synchronisation).
Toute aide appréciée.
Réponses:
Si vous essayez de le faire pour les personnes appelant la commande
/sbin/mount
et/sbin/umount
, tout ce que vous avez à faire est de créer un programme wrapper pour les deux et de programmer ce que vous voulez dans ces programmes wrapper.Un programme wrapper étant remplacé
/sbin/mount
par le programme wrapper qui appelle le réel/sbin/mount
(renommé quelque chose comme/sbin/mount-real
ou/sbin/umount-real
). Pour empêcher quiconque d'appeler le programme réel, utilisez des autorisations de groupe pour le restreindre et définissez le bit SGID sur les programmes wrapper.Si vous cherchez à corriger l'
mount(2)
appel de bibliothèque, c'est un effort et probablement difficile et probablement déconseillé car cela pourrait causer des problèmes de traitement des systèmes internes, en particulier au démarrage et à l'arrêt.Même avec un programme wrapper, vous devrez probablement le tester à fond pour éviter les interférences du système et faire les ajustements appropriés.
la source
Vous pouvez probablement utiliser le hook du noyau inotify , bien qu'un événement de pré-démontage puisse être vraiment difficile à attraper car je ne suis pas sûr s'il y a un événement inotify envoyé avant le démontage du répertoire.
la source
/media
ou/mnt
), mais pas si un système de fichiers a été monté sur ce répertoire.La solution la plus simple qui fonctionnera probablement pour toujours est d'interroger le
/etc/mtab
ou/proc/mounts
. Une fois que ce fichier a été modifié, cela signifie que quelque chose a été monté ou démonté. Ensuite, vous devez vérifier là pour l'appareil que vous voulez.Udev n'est pas la meilleure solution car il vous indique simplement si un appareil est connecté. Il ne dit pas si l'appareil est réellement monté ou non. Cela peut parfois fonctionner, mais c'est une solution hacky qui à un moment donné se cassera et vous vous arracherez les cheveux.
la source
vous pouvez écrire une règle udev pour ce faire. J'ai utilisé quelque chose comme ça pour sauvegarder automatiquement des choses sur un lecteur USB. Truc amusant.
la source