fstab挂载时间

fstab挂载时间

我正在编写一个应该在启动时执行的脚本,但问题是该脚本需要共享驱动器上的一些文件,这些文件是通过 fstab 自动安装的,并且在执行时驱动器尚未安装然而。

我尝试过使用 cron @reboot 和 init.d 路线,但它们都执行得太早。我也考虑过添加mount -a到脚本中,但我宁愿避免sudo这样做。现在我只是添加了一个延迟来使其工作,但这感觉有点老套。

有没有办法确保启动脚本在处理 fstab 后运行?或者强制处理安装座而不使用sudo

答案1

为此,您必须将脚本作为系统单元(假设你有 systemd),你可以在其中定义依赖关系......

如果你想坚持计划任务@reboot(这听起来是一个简单的选择)你必须让你的脚本更聪明一点(或者在 fs 安装后启动 cron...我不建议做什么改变)。您可以检查所需的文件系统是否已安装(在 bash 中),而不是简单的延迟:

while ! mount | awk '{print $3}' | grep -qx /the/mountpoint; do
    sleep 1
done

或者您可以检查该文件是否存在您需要的:

while ! [ -f /that/file ] ; do
    sleep 1
done

答案2

我假设您使用的是相对较新的 Linux 发行版,因此您可能需要检查systemd手册,因为SysV默认发行版安装中不再使用它,这很可能是您的问题。systemd允许启动依赖项,您可以在其中指定哪些脚本先于其他脚本运行。

检查下一个关联

相关内容