海运的博客

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 https://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 https://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
website=https://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分钟执行一次
分类
最新文章
最近回复
  • 海运: 恩山有很多。
  • swsend: 大佬可以分享一下固件吗,谢谢。
  • Jimmy: 方法一 nghtp3步骤需要改成如下才能编译成功: git clone https://git...
  • 海运: 地址格式和udpxy一样,udpxy和msd_lite能用这个就能用。
  • 1: 怎么用 编译后的程序在家里路由器内任意一台设备上运行就可以吗?比如笔记本电脑 m参数是笔记本的...
  • 孤狼: ups_status_set: seems that UPS [BK650M2-CH] is ...
  • 孤狼: 擦。。。。apcupsd会失联 nut在冲到到100的时候会ONBATT进入关机状态,我想想办...
  • 海运: 网络,找到相应的url编辑重发请求,firefox有此功能,其它未知。
  • knetxp: 用浏览器F12网络拦截或监听后编辑重发请求,修改url中的set为set_super,将POS...
  • Albert: 啊啊啊啊啊啊啊啊啊 我太激动了,终于好了英文区搜索了半天,翻遍了 pve 论坛没找到好方法,博...
归档