已安装的samba共享 - 如何检查它是否在线

问题描述 投票:-1回答:1

我需要在脚本中检查挂载是否在线。并在1秒的最长时间内完成检查。

我试过了:

  1. smbclient -L -U user%pass - 但它花了太多时间,并因为重新登录而在目的地服务器日志文件中制作垃圾
  2. stat /mnt/samba/file - 但是当samba共享脱机时它会停滞不前

也许你会有人帮助找到另一种方法来完成它?

目标samba使用SMB3.0 protocole。

问候

linux bash mount samba
1个回答
0
投票

从程序化的角度来看,它比看起来更难。要检查是否确定我必须在那里创建文件或尝试读取目录。但是Linux不支持异步open system call并且同样的原因是实用程序挂起了很长的超时(我想这应该是大约2分钟,这是TCP死亡的最小超时)所以如果你要实现这个,你应该强加一些较小的超时,尝试在目标文件夹上进行统计或打开调用,并在超时到期时终止线程(或在那里发送信号)。

© www.soinside.com 2019 - 2024. All rights reserved.