我一直在阅读关于如何在linux上运行@启动脚本的大多数顶级结果。
我一直在经营一个视频游戏的主页,我想自己创造一些东西。
不知道它叫什么。但让我们称它为参考脚本。
我希望能够创建一个脚本,在我的linux服务器更新和/或重新启动时运行某些命令。
它似乎经常这样做(我相信这很好)。
atm我为一个名为Terraria的游戏制作了一个config.txt文件,这个txt文件包含了世界和游戏设置。它还设置了一个规则,当它找不到-said世界时,可以自动创建一个具有特定参数的新世界。
-描述
因此,我使用以下命令创建了一个文件:
touch startup.sh我在游戏文件所在的文件夹中创建了脚本
这就是在startup.sh文件中编写的内容:
#!/bin/sh
@reboot screen -S Terraria ./TerrariaServer.bin.x86_64 -config serverconfig.txt当我删除@reboot时,我可以执行命令./startup.sh,它打开一个名为Terraria的屏幕,并使用其配置规则运行游戏。
我找不到一个简单的解释,说明如何在启动时运行命令。
我非常肯定,它归结到适当的搜索,我相信,我寻找的任何地方,我已经写在某处。
发布于 2022-08-13 13:04:34
#!/bin/bash属于bash脚本。@reboot属于crontab。
您可以尝试使用crontab来查看它是否可以运行您想运行的程序。
为了添加一个cron作业,您需要运行crontab -e,然后将您的作业添加到文件的末尾,您需要的行如下所示;
@reboot screen -S Terraria /path/to/the/server/folder/TerrariaServer.bin.x86_64 -config serverconfig.txt发布于 2022-08-13 17:07:15
[Unit]
Description=Terraria Server
[Service]
Type=simple
WorkingDirectory=/home/terraria/
ExecStart=screen -S Terraria ./TerrariaServer.bin.x86_64 -config serverconfig.txt nogui
User=Terraria
Restart=on-failure
[Install]
WantedBy=multi-user.target/etc/systemd/system/terraria.service管制:
sudo systemctl start|stop|restart terraria # Starts/stops/restarts
sudo systemctl status terraria # shows the status of the service
sudo journalctl -u terraria -f # shows the server log而您遇到问题的部分是:在启动时启用或禁用服务.
sudo systemctl enable terraria.service
sudo systemctl disable terraria.servicehttps://askubuntu.com/questions/1423370
复制相似问题