![如何在启动时启动脚本文件?](https://linux22.com/image/24374/%E5%A6%82%E4%BD%95%E5%9C%A8%E5%90%AF%E5%8A%A8%E6%97%B6%E5%90%AF%E5%8A%A8%E8%84%9A%E6%9C%AC%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我正在运行一个小型的《我的世界》服务器。
我希望 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它非常容易使用&你可以在几分钟内配置
编辑 crontab 运行以下命令,将“USER”替换为节点进程所需的运行时用户。如果您选择除您自己之外的其他用户,则必须使用 sudo 运行此命令。
$ crontab -u 用户 -e
进入编辑器后,添加以下行:
@reboot sh /home/mc/server/craftbukkit.sh
保存并再次通过#1的检查命令确认文件已保存
注意:我认为,您应该使用 crontab 文件中的完整路径来防止出现问题
你可以参考这个网址参考 Ubuntu Cron 操作指南