1

所以试图让它工作,不熟悉 linux,但把它拼凑在一起只是有一些问题......还有 echo ''$NOW' Server is down.... Started !...似乎使“服务器已关闭...”等到下面的一行很奇怪,因为如果我在另一个脚本中使用同一行,整个事情就会进入 servercheck.txt 文件中的 1 行。

在 check.sh >>

#!/bin/bash
if screen -list | grep -q "minecraft"; then 
    echo "Server is running!" 
    cd /home/minecraft/ 
    teststart.sh
    NOW=$(date +"%b-%d %H:%M")
    echo ''$NOW'  Server was down.... Started !' >> /home/minecraft/servercheck.txt;
else 
    echo "Server dead" 
fi

错误...

: not found: check.sh:
Server is running!
: not found: check.sh: teststart.sh
: not found: check.sh:

以及如何运行 teststart .... 还有:未找到:错误

这必须进入用户 minecraft 的 cron aswel,任何有关该 aswel 的帮助都希望它每 5 分钟运行一次。

4

1 回答 1

3

if screen -list | grep -q "minecraft";

您只检查屏幕是否正在运行,而不是服务器。相反,您可以使用类似的东西

ps -ef | grep -i bukkit | grep -v grep; echo $?

如果 return 为 0,则 (bukkit) 服务器正在运行,如果 return 为 1,则服务器未运行。

在 $NOW 使用后删除 \n

echo -ne ''$NOW'  Server was down.... Started !\n' >> /home/minecraft/servercheck.txt;
于 2013-08-16T21:12:49.507 回答