the5fire

关注Python、Django、Vim、Linux、Web开发、团队管理和互联网--Life is short, we need Python.


用shell来监控web服务

作者:the5fire | 标签:       | 发布:2013-05-04 9:21 p.m. | 阅读量: 9819, 9448

早上起来发现服务器又重启了,难道webfaction有隔一段时间重启一次的习惯?或者是我占用的内存太多了,所有进程都被kill掉了。 总之不管什么原因吧,自己搞一个监控还是很有必要的。

这个监控的功能很简单,监控我的三项服务:nginx,memcache, supervisord。如果发现被停掉了,就启动。据此,查了下shell的用法,写了个脚本:

#!/bin/sh
echo 'run'

result=`ps aux|grep 'username' | grep 'nginx' | grep -v 'grep' | wc -l`
if [ $result -lt 1 ]; then
    echo 'no find nginx'
    `/etc/nginx/sbin/nginx`
fi

result=`ps aux|grep 'username/memcached' | grep -v 'grep' | wc -l`
if [ $result -lt 1 ]; then
    echo 'no find memcache'
    `memcached -d -m memory -s /tmp/memcached.sock -P /tmp/memcached.pid`
fi

result=`ps aux|grep 'username' | grep 'supervisord' | grep 'selfblog' | grep -v 'grep' | wc -l`
app_path='~/virtualenvs/bloga'
if [ $result -lt 1 ]; then
    echo 'no find supervisord'
    `$app_path/bin/supervisord -c $app_path/selfblog/conf/supervisord.conf`
fi
- from the5fire.com
----EOF-----

微信公众号:Python程序员杂谈

【上一篇】 Django统计在线人数
【下一篇】 初识angularjs

其他分类: