screen/tmux에서 부팅 시 스크립트 다시 시작

screen/tmux에서 부팅 시 스크립트 다시 시작

도트넷에서 실행되는 스크립트가 있는데 퍼티를 통해 화면이나 tmux에서 실행하면 훌륭하게 작동합니다.

그러나 systemd나 crontab에서 작동시키려고 총 8시간 넘게 노력했는데 작동하지 않는 것 같습니다.

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

관련 정보