c/fe

http://d.hatena.ne.jp/uzulla から移行しました。

TeamSpeak auto rebooter

管理しているTeamSpeakのサーバーがやっぱり落ちるらしいので、自動再起動を作った。
最初はコネクション数を見ながらだったが、サーバーが落ちてもコネクション数が保たれてしまうのでログを見る事にした。しかしまあ実装は適当だ。

$adminmail="admin\@example.com";
$BASE_PATH="/script/tscheck";

$stdout = `tail -1 /path/to/tss2/server.log | grep EIdSocketError`;

if($stdout =~ /EIdSocketError/){
        print "ts is downex? we try restarting ";
        `cd /path/to/tss2/;/usr/bin/sudo -u ts /path/to/tss2/startts2.sh stop > /script/tscheck/stdout 2>&1 `;
        `cd /path/to/tss2/;/usr/bin/sudo -u ts /path/to/tss2/startts2.sh start >> /script/tscheck/stdout 2>&1 `;
        `echo "$stdout" | mail -s "TS server was restarted" $adminmail`;
}
  • -

TSのstartts2.shは、実はlinux_serverがおいてあるディレクトリをカレントで実行しないと動かない様なダサいスクリプトだったので修正。