如何testing挂载的共享是否仍然有效

我有一套使用samba(和其他)共享驱动器的Linux机器。 有自动的脚本来挂载这些共享。 我的问题是,有时主机会脱机,但我找不到从客户端testing的好方法。

我正在为此检查mount命令输出,但是自离线以来的挂载仍然出现在输出中。 我的下一个尝试是尝试执行ls /media/mount 。 这将从共享中返回文件,或者以"ls: cannot access /media/mount: Host is down"错误信息"ls: cannot access /media/mount: Host is down" 。 除非ls很慢,或者有时候挂起,否则这样会很好。 我也试过df ,这个给了我所需要的信息,而不必parsing错误,但是它仍然很慢,我担心它也可能会挂起。

有没有一种方法来testing共享连接没有缓慢/挂起问题? 理想情况下,发布的命令不必错误地回答是否可以实际读写共享。

你可以使用例如:

touch / root / test> / dev / null 2>&1; echo $?

0

touch / blablablaroot / test> / dev / null 2>&1; echo $?

1

如果给命令添加超时,那么更好一点:

timeout 15 touch / blablablaroot / test> / dev / null 2>&1; echo $?

1

我希望它有帮助。