在 screen/tmux 中启动时重新启动脚本

在 screen/tmux 中启动时重新启动脚本

我有一个在 dot net 中运行的脚本,通过 putty 在屏幕或 tmux 中启动它时效果很好。

然而,我已经尝试了总共超过 8 个小时来让它与 systemd 或 crontab 一起工作,但它似乎不起作用。

当我在 cron 或 systemd 中运行它时,脚本不会启动或工作。

这是脚本:

#!/bin/sh
echo ""
echo "Running NadekoBot with auto restart and updating to latest build!"
root="/root"
youtube-dl -U

sleep 5s
while :; do cd "$root/NadekoBot" && dotnet restore && dotnet build --configuration Release && cd "$root/NadekoBot/src/NadekoBot" && dotnet run -c Release && cd "$root" && wget -N https://github.com/Kwoth/NadekoBot-BashScript/raw/1.4/nadeko_installer_latest.sh && bash "$root/nadeko_installer_latest.sh"; sleep 5s; done
echo ""
echo "That didn't work? Please report in #NadekoLog Discord Server."
sleep 3s

cd "$root"
bash "$root/linuxAIO.sh"
echo "Done"

rm "$root/NadekoARU_Latest.sh"
exit

答案1

经过几个小时的尝试找出答案后,这就是答案。这nadekobot至少适用于。将此文本systemd作为nedekobot.service文件复制到系统文件夹中,然后不要忘记启用服务文件。

[Unit]
Description=Nadekobot

[Service]
WorkingDirectory=/root/
User=root
Type=forking

ExecStart=/usr/bin/tmux new-session -s mc-%i -d '/bin/sh nadeko_start.sh'

ExecStop=/bin/sleep 2

[Install]
WantedBy=multi-user.target

相关内容