Estou procurando um comando para verificar se uma pasta nfs está montada de forma suave, meu fstab é:
10.10.1.3:/home/share3 /home/share3 nfs soft 0 0
Responder1
Embora eu provavelmente tivesse usado mount
(conforme descrito emresposta do walinator) eu mesmo, segundo man mount
devemos abandonar o hábito:
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.
O findmnt
comando também oferece um pouco mais de flexibilidade - por exemplo, você pode localizar diretamente por origem ou destino (sem a necessidade grep
) e gerar apenas as opções específicas do sistema de arquivos. 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)
para
$ 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
Não acho que (ainda) forneça uma maneira de obter valores de opções específicas diretamente, então um grep
or awk
ainda seria necessário para isso.
$ findmnt -nM /mnt/nfs/public -oFS-OPTIONS | grep -qE '\bsoft\b' && echo "soft" || echo "hard"
hard
No seu caso, seria
findmnt -nM /home/share3 -oFS-OPTIONS | grep -qE '\bsoft\b' && echo "soft" || echo "hard"
Responder2
Você pode usar o mount
comando para mostrar todas as suas montagens (ou olhar /etc/mtab
), o grep
comando para selecionar sua montagem específica e outro 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