Il m'est arrivé plusieur fois de perdre la fonction de montage automatique des volumes suite a des mises a jours ou des fause manipulation. Aussi je me suis créer un petit script shell tout bete qui va jouer se role.
Je vous le propose car je pense que cela pourait depanné vue le nombre de post sur le forum qui traite de se problème.
mount_auto.sh
Code : Tout sélectionner
#!/bin/bash
#
# Script de montage automatique des volumes
#
# Se script monte et demonte les volumes
#
############################# A édité ###############################
# Choisissez votre methode pour devenir root
# laisser vide si vous executer le script en root
suroot="gksudo";
# Choisissez le dossier oû seront monté les volumes
cd ~
# Créer un format de nom pour les dossier qui contiendrons les volumes
dossier="volume_";
#*************************** SECURITE ******************************
#
# Verifier si le script est deja lancé
#
nom=`basename $0`;
if [ `pgrep $nom | wc -l` -lt 3 ]
then
echo "demarage de mount_auto.sh";
else
echo "Le script est deja en fonction";
exit;
fi
#*************************** MONTAGE ******************************
attente=1;
while [ $attente ]
do
#initialisation de l'index
i=0;
# boucle qui liste les nouveaux volumes
for file in $(find /dev/sd* | grep -Ev /dev/sda)
do
# Verification que le volume ne soit pas deja monté
test=`mount | grep -E $file" "`;
if [ ! -n "$test" ]
then
while [ -d $dossier$i ]
do
# incrementation de l'index
i=`expr $i + 1`;
done
# Verification que le dossier n'est pas deja utilisé
while [ -d $dossier$i ]
do
# incrementation de l'index
i=`expr $i + 1`;
done
# Creation du dossier
mkdir $dossier$i ;
# Monte le volume
$suroot "mount -o defaults,rw $file $dossier$i" ;
# incrementation de l'index
i=`expr $i + 1`;
fi
done
#************************** DEMONTAGE *****************************
# boucle qui liste les volumes monté par le script
for file in $(mount | grep -E /dev/sd | grep -E $dossier | sed s/on/'$'/ | cut -d$ -f1)
do
# Si le volume est absent
if [ ! -e $file ]
then
# demonte le volume qui a était retiré
$suroot umount $file;
fi
done
# boucle qui liste les dossier utilisé par le montage des volumes
for file in $(find $dossier* -maxdepth 0 2>null)
do
test=`mount | grep -E /dev/sd | grep -E $file" "`;
# si le dossier n'est plus utiliser pour monter une partition
if [ ! -n "$test" ]
then
# supprime les dossiers inutiles
rm -r $file;
fi
done
sleep 1;
done
J'espere que cela sera utile a quelqu'un.
PS : je ne desire pas l'améliorer, je veux juste le partager.