我有这个 Teamspeak 服务器,它有时会崩溃。因此,我想每 5 分钟运行一次脚本,这样即使我不在家,服务器也可以重新启动。我得到了这个脚本,它是可执行的(chmod +x),但它似乎没有运行,我添加了一些回显来确认它是否运行以及它是否失败或成功,但我没有得到任何响应,我也无法从日志中获取任何信息。(/var/log/cron)
#!/bin/sh
VALID_CHECK="Server seems to have died"
RESULT=`/home/zuusu/teamspeak3-server_linux-x86/ts3server_startscript.sh status`
TEST_CHECK="Server is running"
/bin/echo "Initiating Server Check"
if [ "$RESULT" == "$TEST_CHECK" ]; then
/home/zuusu/teamspeak3-server_linux-x86/ts3server_startscript.sh status
/bin/echo "Server Restarted"
else
/bin/echo "Server Check Done"
fi
以下是 crontab 中的一行:
*/5 * * * * /home/zuusu/teamspeak3-server_linux-x86/server_check.sh
我使用 readlink 来获取完整路径。
[root@forum teamspeak3-server_linux-x86]# readlink -f server_check.sh
/home/zuusu/teamspeak3-server_linux-x86/server_check.sh
您可能注意到,我对 Linux 还很陌生,但我有一些编程经验。
你们觉得这个看起来还好吗?为什么它不起作用?
答案1
我认为如果你crontab -e
以 ...身份运行zuusu
并在其中添加你的 cron 作业行它应该可以工作。