如果远程服务器响应 ping,则采取行动

如果远程服务器响应 ping,则采取行动

我家里有一个网络附加存储 (NAS),我把几乎所有的媒体资料(歌曲、视频等)都存储在那里。每次我在家登录时,我都想自动将其安装到笔记本电脑的本地目录中,因此在安装之前,我需要执行 ping 操作以查看它是否正在响应(这意味着我在家)。

我已经有安装它的脚本(见下文)但我有两个问题:

1) 如何使用 ping 的答案来查看它是否有答案?我相信我必须将 grep 与 ping 命令一起使用,但由于我是新的 *nix 用户,所以我还不太熟悉它。

2)这个脚本最好放在哪里?

我的挂载命令是这样的:

sudo mount -t cifs //myIpAddress/remoteDir /media/MyLibrary -o username=myUsername,password=myPassword,domain=myDomain,iocharset=utf8,file_mode=0777,dir_mode=0777

谢谢!

答案1

不需要 grep 或类似的东西,只需执行以下操作:

ping -c 4 foo && sudo mount ...

这基本上利用了这样一个事实:如果 ping 成功,则 ping 返回 true,-c 将其限制为 4 次 ping 后再返回。如果 ping 失败,您还可以执行以下操作:

ping -c 4 foo || echo "FAILED!"

要考虑的另一件事是为什么您在登录时挂载而不是在 fstab 中挂载,有一些关于在线挂载 smb 文件存储的好指南:

https://help.ubuntu.com/community/Samba/SambaClientGuide

http://www.mattvanstone.com/2006/06/automatically_mounting_smb_sha/

相关内容