如何在启动时启动脚本文件?

如何在启动时启动脚本文件?

我正在运行一个小型的《我的世界》服务器。

我希望 Lubuntu 在服务器启动时执行以下脚本。不在登录时,也不在重新启动时(当然除非它正在启动)。

该脚本当前位于:

/home/mc/server/craftbukkit.sh

我可以通过进入目录并输入 来手动启动脚本./craftbukkit.sh。但我想在机器启动时启动脚本。

答案1

在最新的 Ubuntu 上,你应该这样做,创建/etc/init/bukkit.conf(无论什么 .conf),

description     "Some java server"
author          "Moi <[email protected]>"

start on runlevel [2345]   # change start / stop level if needed
stop on runlevel [016]

pre-start script
   echo "script is abort to start"
end script

exec /path/to/script param1 param2

post-start script
   echo "script is started" # if you needed any post-start hack
end script

更多信息请点击此处。

答案2

我从 debian 终端运行 Minecraft 服务器,这可能是错误的方法,但它有效。首先,sudo apt-get install screen然后将以下脚本另存为/etc/init.d/minecraft

#!/bin/bash
case "$1" in
  start)
    screen -S minecraft /home/mc/server/craftbukkit.sh
    echo "Server started on screen minecraft"
    ;;
  stop)
    screen -X -S minecraft kill
    echo "Server shutting down"
    ;;
  *)
    echo "Usage: /etc/init.d/minecraft {start|stop}"
    exit 1
    ;;
esac

exit 0

现在,以 root 身份运行以下命令:

update-rc.d -f minecraft defaults

这将使我的世界服务器在系统启动时在后台运行。要查看控制台,请screen -x minecraft在终端中运行。要退出控制台,请按 Ctrl+A,然后按 D。

答案3

在 ubuntu/lubuntu 中应该有一个名为“启动应用程序”的菜单项。在我的 ubuntu 服务器上,它位于“系统 > 首选项 > 启动应用程序”菜单下。这是在 gnome 中,但应该是 smiler。选择“添加”按钮并为其命名,例如“我的世界”,并确保选中该框以使其启动。

这可能不是一个硬核 Linux 解决方案,但它提供了一种简单的方法来查看它是否已启用,并在您需要时禁用/启用它。

答案4

码头工人我更喜欢创建 Dockerfile 并使用 --restart=always 标签运行它

如果您想在启动时运行 shell 脚本 然后使用unix的crontab它非常容易使用&你可以在几分钟内配置

  1. 编辑 crontab 运行以下命令,将“USER”替换为节点进程所需的运行时用户。如果您选择除您自己之外的其他用户,则必须使用 sudo 运行此命令。

    $ crontab -u 用户 -e

  2. 进入编辑器后,添加以下行:

    @reboot sh /home/mc/server/craftbukkit.sh

  3. 保存并再次通过#1的检查命令确认文件已保存

    注意:我认为,您应该使用 crontab 文件中的完整路径来防止出现问题

你可以参考这个网址参考 Ubuntu Cron 操作指南

相关内容