↓ 跳过正文
  1. 文章/

自动重启服务器的脚本

Rubén Infante Docio
作者
Rubén Infante Docio
软件工程师

很长一段时间以来,我在家里搭建了服务器,里面有多个服务、MediaCenter等等……

服务器最重要的是其服务能尽可能长时间正常运行,因此有必要检查它们是否全部处于激活状态。然而,由于错误,这些服务器有时会停止工作,因此需要不时检查它们是否仍然活跃,如果不活跃,则重新激活。

所以我在这里留给你验证码,让你检查并重新开始服务。

你的“fichero.sh” 查找“PATH”,输入请求文件的位置:

#!/bin/bash
services=(zoneminder webmin tomcat6 subsonic apache2)

for name in ${services[@]}
do
        SERVICEEXIST=`sudo service $name status|grep -n "is running"|cut -d: -f1`
	if [ "$SERVICEEXIST" != "1" ] ; then
    		service $name start
	fi
done

procesos=(amuled utserver lircd)
for name in ${procesos[@]}
do
	PROCESSNAME=`ps -A|grep $name|cut -d: -f3|cut -d" " -f2|tail -1`
        if [ "$PROCESSNAME" != "$name" ]; then
           case $name in
   		"amuled") sudo service amule-daemon restart; break;;
   		"utserver") RUTA/utserver -daemon; break;;
                "lircd") sudo service lirc start; break;;
  	   esac
        fi
done
pyload=`pyLoadCore --status`
if [ $pyload == "false" ];then
	pyLoadCore --daemon
fi
nxserver=`sudo /usr/NX/bin/nxserver --status|grep -n "is running"|cut -d: -f1`
if [ $pyload == "false" ];then
        sudo /usr/NX/bin/nxserver --daemon
fi
SERVICEEXIST=`sudo service proftpd status|grep -n "currently running"|cut -d: -f1`
if [ $SERVICEEXIST == "false" ];then
        sudo service proftpd start
fi
SERVICEEXIST=`sudo service ssh status|grep -n "running"|cut -d: -f1`
if [ $SERVICEEXIST == "false" ];then
        sudo service ssh start
fi
SERVICEEXIST=`sudo service mysql status|grep -n "running"|cut -d: -f1`
if [ $SERVICEEXIST == "false" ];then
        sudo service ssh start
fi
SERVICEEXIST=`sudo service cups status|grep -n "running"|cut -d: -f1`
if [ $SERVICEEXIST == "false" ];then
        sudo service ssh start
fi

一旦被救出,我们执行:

sudo crontab -e

打开的文件中我们输入:

*/1 * * * * bash RUTA/fichero.sh

其中“1”表示检查间必须经过的分钟数。

相关文章