【问题标题】:/etc/rc.local is missing from my headless ubuntu 18.04我的无头 ubuntu 18.04 中缺少 /etc/rc.local
【发布时间】:2018-11-19 00:00:35
【问题描述】:

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

【问题讨论】:

    标签: bash ubuntu


    【解决方案1】:

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

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

    sudo nano /etc/rc.local
    

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

    #!/bin/sh -e
    COMMANDS
    exit 0
    

    添加文件的执行权限:

    chmod +x /etc/rc.local
    

    【讨论】:

    • 这正是我所做的,它在没有启用 rc-local.service 的情况下工作
    • 您应该使用sudo chmod u+x /etc/rc.local(注意u+x)而不是sudo chmod +x /etc/rc.local(只是+x),这样只有root 'u'ser 可以获得对该文件的可执行访问权限,而不是任何人,我认为这可能是一个安全问题。
    【解决方案2】:

    为此设置一个 crontab

    确保文件是可执行的:

    chmod +x /path_to_you_file/your_file/file.sh
    

    编辑 crontab 文件:

    crontab -e
    

    然后添加:

    @reboot  /path_to_you_file/your_file/file.sh
    

    【讨论】:

    • 设置 cron 为 root 用户,否则当它的所有者用户被移除时任务也会被删除。
    【解决方案3】:

    rc.local 默认是禁用的。 使用此命令启用

    sudo systemctl enable rc-local.service
    

    【讨论】:

    • 使用该命令时出现此错误:单元文件没有安装配置(WantedBy、RequiredBy、此外,[Install] 部分中的别名设置以及模板单元的 DefaultInstance)。这意味着它们不应该使用 systemctl 来启用。
    猜你喜欢
    • 2019-03-22
    • 2014-12-24
    • 2020-12-06
    • 2015-11-10
    • 1970-01-01
    • 2020-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多