Estoy buscando un comando para verificar si una carpeta nfs está montada suavemente, mi fstab es:
10.10.1.3:/home/share3 /home/share3 nfs soft 0 0
Respuesta1
Aunque probablemente habría usado mount
(como se describe enla respuesta de walinator) yo mismo, según man mount
deberíamos dejar la costumbre:
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.
El findmnt
comando también brinda un poco más de flexibilidad; por ejemplo, puede buscar por origen o por destino directamente (sin necesidad de hacerlo grep
) y generar solo las opciones específicas del sistema de archivos. Comparar:
$ 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)
a
$ 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
No creo que (todavía) proporcione una forma de obtener valores de opciones específicas directamente, por lo que aún sería necesario grep
o para eso.awk
$ findmnt -nM /mnt/nfs/public -oFS-OPTIONS | grep -qE '\bsoft\b' && echo "soft" || echo "hard"
hard
En tu caso sería
findmnt -nM /home/share3 -oFS-OPTIONS | grep -qE '\bsoft\b' && echo "soft" || echo "hard"
Respuesta2
Puede usar el mount
comando para mostrar todas sus monturas (o mirar /etc/mtab
), el grep
comando para seleccionar su montura específica y luego otro grep
para verificar 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