1

これを機能させようとして、Linux に慣れていませんが、問題が発生しただけでこれをまとめました... また、echo ''$NOW' サーバーがダウンしていました.... 開始しました !' ...「server was ddown ...」などを下の行に作成しているようです。これは、別のスクリプトで同じ行を使用すると、すべてが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 の実行方法.... また、: not found: エラー

これは、ユーザー minecraft の cron aswel に入る必要があります。5 分ごとに実行したい aswel のヘルプ。

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 に答える