У меня есть процедура, которую я хочу инициировать, только если несколько тестов успешно завершены.
Один тест, который мне нужен, это то, что все мои монстры NFS живы и хорошо.
Могу ли я сделать лучше, чем метод грубой силы:
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
Здесь timeout
- это утилита, которая будет запускать команду в фоновом режиме и будет убивать ее по истечении заданного времени, если не было обнаружено SIGCHLD
до истечения срока, что приведет к успешному завершению/неудаче.
На английском языке: проанализируйте вывод mount
, проверьте (ограниченное таймаутом) каждую точку монтирования NFS. Необязательно (не в коде выше), разбивающемся на первом устаревшем держателе.