#!/bin/bash
ListeningPort=`netstat -an | grep ":10003" | awk '$1 == "tcp" && $NF == "LISTEN" {print $0}' | wc -l`
if [ $ListeningPort -eq 0 ]
#上面这一句就是监测游戏端口。10003就是我监测的端口,我这个游戏是mt3梦幻,掉线的话一般会失去这个端口
then
{
#下面三行是关闭游戏的命令,和你的shell命令一样
echo "正在关闭梦幻西游!请稍后!"
ps aux | grep 'gateserver' |grep -v grep| cut -c 9-15 | xargs kill -9
sleep 1
ps aux | grep 'proxyserver' |grep -v grep| cut -c 9-15 | xargs kill -9
sleep 1
ps aux | grep 'java' |grep -v grep| cut -c 9-15 | xargs kill -9
sleep 1
echo "梦幻西游关闭成功!"
echo "正在启动梦幻西游!请稍后!"
service iptables stop
sleep 1
#下面是启动命令
cd /home/mt3
./s.sh
sleep 5
echo "..."
sleep 0.2
echo "..."
sleep 0.2
echo "..."
sleep 0.2
echo "..."
sleep 0.2
echo "..."
sleep 0.2
echo "..."
echo "梦幻西游服务端启动完成"
}
else
#下面是如果端口在就输出这一句话,我可以在日志里看见
{
echo "`date` : 10003端口正常"
}
fi
|
怎么用,就是在宝塔计划任务里添加一个shell脚本,选择多少分钟,执行一次上面的脚本。方便一些后台服给玩家刷炸了,不用管。爱玩不玩
|