海运的博客

Shell监控kloxo面板Could not open database connection自动修复

发布时间:April 16, 2012 // 分类:Shell,控制面板 // No Comments

kloxo经常出现Could not open database connection真是个让人头痛的问题,按照官方提供的方法修复后有客户反应以后还是出现此问题,不得已写个脚本放后台定时监控网站,反正也不占用多少资源,如遇到Could not open database connection问题自动修复。

#!/bin/bash
#set -x
#Created by http://www.haiyun.me
website=0.0.0.0:7778 #kloxo面板地址
while true
do
if
curl $website|grep Could
then
sh /script/fix-program-mysql
/etc/init.d/mysqld restart
fi
sleep 120
done

执行:

nohup sh /path/file.sh & #以nohup方式后台运行
echo "nohup sh /path/file.sh &" >> /etc/rc.local #开机启动

Apache/httpd添加配置虚拟机

发布时间:April 16, 2012 // 分类:Apache // No Comments

Apache默认调用conf.d目录下conf文件,可在该目录新建虚拟机配置文件。
虚拟机配置:

vim /etc/httpd/conf.d/www.haiyun.me.conf
<VirtualHost *:80>
ServerName    www.haiyun.me #域名
ServerAlias www.haiyun.me #域名别名
ServerAdmin onovps@www.haiyun.me #管理员邮箱
DocumentRoot  /home/wwwroot/www.haiyun.me #网站目录
ErrorLog /var/log/httpd/onovps.error_log 错误日志目录
CustomLog     /var/log/httpd/onovps.access_log combined #日志格式及目录
php_admin_value open_basedir /home/wwwroot/www.haiyun.me/:/var/tmp/
#限制相应目录,防止跨站,多个目录以:相隔。
</VirtualHost> 

目录相关设置:

<Directory "/home/wwwroot/www.haiyun.me">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>

Linux/Centos下mail连接到smtp服务器发送邮件

发布时间:April 15, 2012 // 分类:Mail // No Comments

自架邮件服务器麻烦还容易被拦截,可以使用Linuxmail命令连接到第三方邮件服务器商的smtp服务器发送邮件。

#/bin/bash
mailaddr=onovps@www.haiyun.me
smtpserver=smtp.www.haiyun.me
user=onovps
passwd=onovps
cat >> /etc/mail.rc <<EOF
set from=$mailaddr
set smtp=$smtpserver
set smtp-auth=login
set smtp-auth-user=$user
set smtp-auth-password=$passwd
EOF

发送邮件:

mail -v -s "主题" onovps@www.haiyun.me #Enter键后输入正文
mail -v -s "主题" onovps@www.haiyun.me < file #file内容为正文
echo "正文"|mail -v -s "主题" onovps@www.haiyun.me #以重定向输入为正文

用Shell脚本监控服务器并发邮件报警

发布时间:April 15, 2012 // 分类:系统监控,Shell // No Comments

对于服务器来说在线率很重要,出现问题要能及时解决,但系统管理员不能一直守在电脑旁边,通过脚本监控网站出现问题及时通过mail通知管理员,如果是139邮箱还可免费手机短信通知。
通过系统直接发送mail容易被拦截,可使用mail连接第三方smtp发送邮件

#!/bin/bash
#Created by http://www.haiyun.me
#set -x
while true
do
    list=(www.haiyun.me cp.www.haiyun.me)
    mail=onovps@www.haiyun.me
    date=$(date -d "today" +"%Y-%m-%d-%H:%M:%S")
    i=0
    id=${#list[*]}
    while [ $i -lt $id ] 
    do
        if ping -c1 ${list[$i]} >/dev/null
        then
            echo  $date:服务器${list[$i]}能ping通。
        else
            if curl -m 10  ${list[$i]} > /dev/null 
            then
                echo  $date:服务器${list[$i]} ping不通,能打开网页。
            else
                echo  "您好,据系统监测服务器${list[$i]}不能访问且ping不通,请及时处理!故障发生时间:$date"|mail -s "服务器${list[$i]}不能连接! 故障发生时间:$date" $mail
                until 
                    date=$(date -d "today" +"%Y-%m-%d-%H:%M:%S")
                    ping -c1 ${list[$i]} >/dev/null && echo "恭喜!服务器${list[$i]}已恢复正常,恢复时间:$date"|mail -s "服务器${list[$i]}已恢复正常! 恢复时间:$date" $mail
                do
                    sleep 5
                done
            fi
        fi
        let i++
    done
    sleep 60
done

执行:

nohup sh /path/file.sh & #放到后台运行,程序60秒检查一次网站。

开机运行:

echo "nohup sh /path/file.sh & " >> /etc/rc.local

监控Nginx遇到502 Bad Gateway自动重启lnmp

发布时间:April 15, 2012 // 分类:Nginx,Shell // 1 Comment

此脚本用Curl监控Nginx网站状态,如回应502信息即重启LNMP

#!/bin/bash
#Created by http://www.haiyun.me
website=http://www.haiyun.me #修改为您的网址
if
curl  -I $website|grep "HTTP/1.1 502"
then
/root/lnmp restart
fi

添加到crontab计划任务:

crontab -e
*/5 * * * * sh /path/lnmp-502.sh #5分钟执行一次
分类
最新文章
最近回复
  • 404NTF: 交叉编译的作用是?
  • 404NTF: 请教一下 CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go ...
  • 小智: 安利个PHP开发以太坊区块链的教程: http://xc.hubwiz.com/course/...
  • 陈浩南: 您好,您教程中的 dev.openwrt.org.cn 现在似乎不可用了。请问现在应该在哪里下...
  • 斑马斑马: 怎么查看虚拟机CPU 内存使用情况
  • zzg: http://downloads.openwrt.org.cn/PandoraBox/rali...
  • xiongrui: 看图
  • 傻狍子: filebrowser好像和这功能一样? https://github.com/filebro...
  • 陶国文: 想看看能不能安装
  • 傻狍子: 服务端设置了用户名密码认证的话,在openwrt的openvpn客户端的配置文件当中该如何更改...
归档
页面执行耗时:0.0448秒。-->