Tengo un procedimiento que deseo iniciar solo si varias pruebas se completan correctamente.¿Hay una buena manera de detectar un montaje obsoleto de NFS?
Una prueba que necesito es que todos mis soportes NFS estén vivos y en buen estado.
¿Puedo hacer algo mejor que el método de fuerza bruta:
mount | sed -n "s/^.* on \(.*\) type nfs .*$/\1/p" |
while read mount_point ; do
timeout 10 ls $mount_point >& /dev/null || echo "stale $mount_point" ;
done
Aquí timeout
es una utilidad que va a ejecutar el comando en el fondo, y matará a él después de un tiempo determinado, si no hay SIGCHLD
fue capturado antes del límite de tiempo, regresando el éxito/fracaso de la manera obvia.
En Inglés: analizar la salida de mount
, cheque (delimitada por un tiempo de espera) de cada punto de montaje NFS. Opcionalmente (no en el código anterior) rompiendo el primer montaje obsoleto.
De 'man 3 errno': ESTALE Reservados . ¿Esto significa que debería buscar otra solución? –
Supongo que depende de tu kernel. – Teddy
Sí, tiene razón: en una versión posterior de mi distribución 'man 3 errno' decir:" 'ESTALE' Manejador de archivo añejo (POSIX.1)) Este error puede ocurrir para NFS y para otros sistemas de archivos". Y aunque fui con el enfoque de la fuerza bruta, descrito en mi pregunta, aceptaré esta respuesta. –