如何在开机时自动运行命令?

如何在开机时自动运行命令?

我需要在启动时自动挂载一个共享文件夹,这样我就不必每次都手动将此行写入 xterm:

sudo mount -t vboxsf share ~/host

我已经这样做了:

sudo crontab -e

并在文件末尾添加:

@reboot /home/richard/mounthost

文件 /home/richard/mounthost 包含:

sudo mount -t vboxsf share ~/host

但它不起作用。有什么帮助吗?

我正在使用 Ubuntu 10.10

答案1

为了在启动时安装,您应该将其添加到/etc/fstab。请看这里:

答案2

添加启动时挂载的文件系统的正确位置是/etc/fstabfstab(5)有关详细信息,请参阅手册页。

答案3

在 /etc/fstab 中添加一行。这将在启动时挂载文件系统,标题将显示各选项应放在哪一列。使用man mountman fstab 获取更多信息。

答案4

这里的其他答案已经指出了指定启动时挂载的正确方法。

那么为什么你的脚本不起作用?你设置了执行权限吗?例如

chmod +x /home/richard/mounthost

也许当 cron 运行其 @reboot 作业时,设备尚未准备好安装?请检查系统日志中的消息。

最后,关于系统安全的一点说明:从 root crontab 运行不属于 root 的脚本是非常糟糕的策略!如果帐户richard被盗用,入侵者可以通过修改 获得 root 访问权限/home/richard/mounthost。如果您决定不将设备放入/etc/fstab,我强烈建议您更改 crontab 条目,以便它mount直接运行命令,而不运行非 root 拥有的脚本。

相关内容