ShellScript
Bash
minecraft

マイクラサーバーが落ちてないか監視するシェルスクリプト

マイクラが落ちてないかプロセスを監視して、落ちていたら起動用のシェルを呼び出す。

cronで定期実行させれば、落ちてたときに自動で起動してくれる。


コード

#!/bin/bash

x=$(ps x | grep "[-]jar minecraft_server.jar nogui")
if [[ $x ]];then
echo "ok"
else
echo "xxx"
~/xx/xx.sh
fi


メモ

x=$(ps x | grep "[-]jar minecraft_server.jar nogui")

X=$()の構文でコマンドの結果を変数に代入できる。

ps x(プロセス一覧)からマイクラサーバーのプロセス名(-jar minecraft_server.jar nogui)をgrepで取り出す。

grep "[-]jar min[]は任意の一文字の意味になるため、grep自身のプロセスを除外できる。

if [[ $x ]];then

echo "ok"
else
echo "xxx"
~/xx/xx.sh
fi

あとはif文でプロセスが見つからなかったら、起動用のシェルを呼び出すだけ。