Je cherche une commande pour vérifier si un dossier nfs est monté de manière logicielle, mon fstab est:
10.10.1.3:/home/share3 /home/share3 nfs soft 0 0
Vous pouvez utiliser la commande mount
pour afficher tous vos montages (ou regardez /etc/mtab
), la commande grep
pour sélectionner votre montage spécifique, puis un autre grep
pour vérifier soft
:
mount | grep /home/share3 | grep -q soft
if [[ $? -eq 0 ]] ; then
echo "/home/share3 is mounted with 'soft'"
else
echo "/home/share3 is not mounted with 'soft'"
fi
Bien que j'aurais probablement utilisé mount
(comme décrit dans réponse de Walinator ) moi-même, selon man mount
nous devrions sortir de l'habitude:
The listing. The listing mode is maintained for backward compatibility only. For more robust and customizable output use findmnt(8), espe‐ cially in your scripts.
La commande findmnt
offre également un peu plus de flexibilité - vous pouvez par exemple rechercher directement par source ou cible (sans avoir besoin de grep
) et ne générer que les options spécifiques au système de fichiers. Comparer:
$ mount -t nfs | grep public
192.168.1.127:/c/public on /mnt/nfs/public type nfs (rw,relatime,vers=3,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.1.127,mountvers=3,mountport=3097,mountproto=udp,local_lock=none,addr=192.168.1.127)
à
$ findmnt -nM /mnt/nfs/public -oFS-OPTIONS
rw,vers=3,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.1.127,mountvers=3,mountport=3097,mountproto=udp,local_lock=none,addr=192.168.1.127
Je ne pense pas que cela fournisse (encore) un moyen d'obtenir directement les valeurs d'options spécifiques, donc un grep
ou awk
serait toujours nécessaire pour cela.
$ findmnt -nM /mnt/nfs/public -oFS-OPTIONS | grep -qE '\bsoft\b' && echo "soft" || echo "hard"
hard
Dans votre cas, ce serait
findmnt -nM /home/share3 -oFS-OPTIONS | grep -qE '\bsoft\b' && echo "soft" || echo "hard"