如何在系统启动后强制运行 mount -a?

如何在系统启动后强制运行 mount -a?

运行 Ubuntu 16.04 和 Kodi 的媒体服务器。隔壁房间的 Synology NAS 包含所有媒体。

如果我的 fstab 挂载无法在启动时挂载,我该如何让它们正常工作?-- 尝试切换到用户名/密码而不是 .smbcredentials,没有变化。

尝试添加_netdev,没有变化。

我尝试修复它,/etc/fstab但它就是不起作用。我不确定问题是什么,但我无法通过这种方式安装我的 NAS 文件夹。在这里发布,在 ubuntuforums 上发布,都没有成功(在任何一个都没有得到任何答案)。每次我重新启动时,我都必须ssh进入框才能恢复我的媒体文件夹。

所以,我想我会采取不同的方法。我假设我的 NAS 或网络存在一些问题,导致fstab无法在启动时进行安装。我不知道。

因为我知道我的文件夹将随一起挂载sudo mount -a,那么在完成所有其他操作(尤其是网络)之后,如何在启动时运行该命令?

答案1

在启动时添加命令的一种方法是将其添加为一项cron作业。

root cron通过在终端窗口中输入以下行来添加命令:

sudo crontab -e

然后在底部cron添加一行,内容如下:

@reboot /bin/mount -a

或者如果你想要添加 10 秒的延迟:

@reboot /bin/bash -c 'sleep 10 && /bin/mount -a'

这应该告诉它在启动时运行mount -a命令。root

或者,您可以通过编辑以下文件将其添加到系统范围的 crontab 中:

/etc/crontab

并添加以下行:

@reboot root /bin/bash -c 'sleep 10 && /bin/mount -a'

希望这可以帮助!

答案2

或许它正在尝试在网络准备好之前安装您的共享。

在这种情况下,您应该_netdev在 /etc/fstab 中添加选项。

例子 :

//server/share /mountpoint  cifs username=xx,password=yy,_netdev 0 0

这会强制操作系统等待网络准备就绪后再尝试挂载该挂载点。

相关内容