服务器服务监测脚本

php中文网
发布: 2016-06-07 16:32:02
原创
1094人浏览过

由于最近一直在弄服务器,所以一直没有带来Arch Linux的东西,这篇文章给出的脚本依旧是为服务器准备的。写shell多了,C都快忘了怎么写了,这样不好

由于最近一直在弄服务器,所以一直没有带来arch linux的东西,这篇文章给出的脚本依旧是为服务器准备的。写shell多了,c都快忘了怎么写了,这样不好啊……

公司的服务器经常莫名其妙就挂,ssh上去又是好的,看看进程发现服务根本没打开,为什么呢?服务器被重启了!我的前任留下一个check.sh脚本,用来监测apache等进程,脚本在监测到进程过多时就重启服务器,结果有些服务器没有设置好开机启动那些apache之类的,就悲剧了。我就重新写了一个脚本,代替了crontab中原来的check.sh,在进程过多时不是重启服务器而是重启服务,这下服务器正常多了,网站那边负责的朝我喊“XXXX网站挂了,什么问题?”少了,哈哈。

废话多了点,脚本如下,使用前请一定看清代码并且修改其中一些路径之类的东西,以确保不会在你的服务器上造成什么不必要的伤害。

[bash]
#!/bin/bash
# service –> name to test
# apache –> apache|apache2|http|httpd
# nginx –> nginx
# mysql –> mysql|mysqld
# php-cgi –> php-cgi
# vsftpd –> vsftp|vsftpd
# pure-ftpd –> pure-ftp|pure-ftpd
# apache-tomcat –> java
# Set the service name you want to test and its max number of processes first.
# Don’t forget to check the bin path for each service.
# By Chen Zhidong
# http://sillydong.com

# This is a special one for the apache path is /usr/sbin

Shopxp购物系统Html版
Shopxp购物系统Html版

一个经过完善设计的经典网上购物系统,适用于各种服务器环境的高效网上购物系统解决方案,shopxp购物系统Html版是我们首次推出的免费购物系统源码,完整可用。我们的系统是免费的不需要购买,该系统经过全面测试完整可用,如果碰到问题,先检查一下本地的配置或到官方网站提交问题求助。 网站管理地址:http://你的网址/admin/login.asp 用户名:admin 密 码:admin 提示:如果您

Shopxp购物系统Html版 0
查看详情 Shopxp购物系统Html版

SERVICE=”apache2 mysqld vsftpd”
SERVICE_MAX=(35 5 5)

LOGPATH=”/root”
#APACHE_PATH=”/usr/sbin”
#MYSQL_PATH=”/usr/local/mysql”
#NGINX_PATH=”/usr/local/nginx”
#PHP_PATH=”/usr/local/php”
#TOMCAT_PATH=”/usr/local/apache-tomcat-6.0.26″
#PURE_PATH=”/usr/local/pureftpd”
i=0

if [ -e $LOGPATH/restart.log ]
then
tail -n 10 $LOGPATH/restart.log > $LOGPATH/restart.tmp
rm -rf $LOGPATH/restart.log
mv $LOGPATH/restat.tmp $LOGPATH/restart.log
fi

for serv in $SERVICE
do
#echo “$serv”
#echo “$i”
#echo “${SERVICE_MAX[i]}”

counter=0
counter=`ps -A | grep “$serv” | wc -l`
#echo “$counter”

if [ $counter -eq 0 ];then
echo “$serv is off at $(date), starting…” >> $LOGPATH/restart.log
case $serv in
apache*|http*)
#echo “apache start”
$APACHE_PATH/bin/apachectl restart >> $LOGPATH/restart.log
;;
nginx)
#echo “nginx start”
$NGINX_PATH/sbin/nginx -s reopen >> $LOGPATH/restart.log
;;
mysql*)
#echo “mysql start”
if [ -e /etc/init.d/mysqld ];
then
/etc/init.d/mysqld restart >> $LOGPATH/restart.log
else
/etc/init.d/mysql restart >> $LOGPATH/restart.log
fi
;;
php-cgi)
#echo “php-cgi start”
$PHP_PATH/sbin/php-fpm restart >> $LOGPATH/restart.log
;;
vsftp*)
#echo “vsftpd start”
/etc/init.d/vsftpd restart >> $LOGPATH/restart.log
;;
pure-ftp*)
#echo “pureftpd start”
$PURE_PATH/sbin/pure-ftpd -B >> $LOGPATH/restart.log
;;
java*) #apache-tomcat
#echo “tomcat start”
$TOMCAT_PATH/bin/startup.sh >> $LOGPATH/restart.log
;;
*)
echo “Wrong service name while starting…” >> $LOGPATH/restart.log
;;
esac
else
echo “$serv is on at $(date), next service…” >> $LOGPATH/restart.log
fi

if [ $counter -gt ${SERVICE_MAX[i]} ];then
echo “$(date), too many $serv, needs to restart…” >> $LOGPATH/restart.log
case $serv in
apache*|http*)
#echo “apache restart”
$APACHE_PATH/bin/apachectl restart >> $LOGPATH/restart.log
;;
nginx)
#echo “nginx restart”
$NGINX_PATH/sbin/nginx -s reload >> $LOGPATH/restart.log
;;
mysql*)
#echo “mysql restart”
if [ -e /etc/init.d/mysqld ];
then
/etc/init.d/mysqld restart >> $LOGPATH/restart.log
else
/etc/init.d/mysql restart >> $LOGPATH/restart.log
fi
;;
php-cgi)
#echo “php-cgi restart”
$PHP_PATH/sbin/php-fpm restart >> $LOGPATH/restart.log
;;
vsftp*)
#echo “vsftpd restart”
/etc/init.d/vsftp* restart >> $LOGPATH/restart.log
;;
pure-ftp*)
#echo “pureftpd restart”
$PURE_PATH/sbin/pure-ftpd -B >> $LOGPATH/restart.log
;;
java*) #apache-tomcat
#echo “tomcat restart”
$TOMCAT_PATH/bin/startup.sh >> $LOGPATH/restart.log
;;
*)
echo “Warning: Wrong service name while restartiing…” >> $LOGPATH/restart.log
;;
esac
fi

let “i++”
done

exit 0

#End
[/bash]

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号