У меня есть скрипт, работающий на 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
Вот ответ после многих часов попыток понять его. По крайней мере, это работает для 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