shell – 高效等待,直到NAS启动才能安装它

问题:服务器启动3分钟,Raspberry Pi启动30秒.停电后,RPi启动速度更快,无法安装NAS磁盘.

这个特殊的RPi需要磁盘才能记录到它.因此,如果没有安装(外部)磁盘,RPi就没用了.我使用RPi autostart.sh来:

mount -t nfs 192.168.1.5:/Public/Video/TV /storage/nas -o nolock;

当我意识到这个问题.所以,我在RPi的autostart.sh中创建了一个循环,在那里我挂载了NAS.在正常操作期间(一旦实现安装),此问题不再发生:只应其中一个重新启动,RPi安装将正常工作(我认为).

这是一个很好的解决方案(仅在RPi启动时执行)并且可以更好或更优雅地完成吗?

until mountpoint -q /storage/nas || mount -t nfs 192.168.1.5:/Public/Video/TV /storage/nas -o nolock; do sleep 30; done

如果已经挂载,则不应尝试挂载,否则 – 挂载.另外,等待重试直到安装.似乎按预期工作,除了RPi将启动(不是WAIT for mount),但是这个RPi(实际上是Kodi)将被冻结,直到安装NAS.

我唯一可以看到colud的地方是:在睡觉之前将WOL发送到NAS.

澄清:这是OPENelec RPi安全,并且没有使用fstab,但是上面描述的方法.

最佳答案
您可以尝试为nfs添加bg挂载选项(如果有). man 5 nfs

If the bg option is specified, a timeout or failure
causes the mount(8) command to fork a child which continues to attempt to mount the export. The parent immediately returns with a zero exit code. This is known as
a “background” mount.

转载注明原文:shell – 高效等待,直到NAS启动才能安装它 - 代码日志