我的无头 ubuntu 18.04 中缺少 /etc/rc.local

qua*_*pus 2 bash ubuntu

我目前在 ubuntu 服务器 18.04 LTS 上托管 minecraft 服务器。我有一个 .sh 脚本来启动服务器的 java 文件,我想在启动时运行它,以便在物理服务器启动时启动 minecraft 服务器。我希望通过 /etc/rc.local 执行此操作。但是,我在那个位置没有看到 rc.local。对于此版本的 ubuntu,它是否位于不同的位置,还是我应该使用完全不同的方法在启动时运行此 .sh?

小智 5

Ubuntu 18.04 上没有“/etc/rc.local”文件,但您可以创建它。

使用文本编辑器创建文件:

sudo nano /etc/rc.local
Run Code Online (Sandbox Code Playgroud)

粘贴以下几行并将“COMMANDS”替换为系统启动时要执行的命令:

#!/bin/sh -e
COMMANDS
exit 0
Run Code Online (Sandbox Code Playgroud)

添加文件的执行权限:

chmod +x /etc/rc.local
Run Code Online (Sandbox Code Playgroud)

  • 这正是我所做的,并且无需启用 rc-local.service 即可工作 (2认同)

wus*_*man 4

为此设置一个 crontab

确保该文件可执行:

chmod +x /path_to_you_file/your_file/file.sh
Run Code Online (Sandbox Code Playgroud)

编辑 crontab 文件:

crontab -e
Run Code Online (Sandbox Code Playgroud)

然后添加这个:

@reboot  /path_to_you_file/your_file/file.sh
Run Code Online (Sandbox Code Playgroud)