1. 写一个shell脚本:check_app.sh,记得添加可执行权限

检测站点进程是否运行,若没运行则执行程序启动进程,然后检测站点是否能正常访问,若不能访问则kill掉站点相关进程,然后重新启动程序

#!/bin/sh  
#设置环境变量
export PYTHONPATH=/home/zhoujianghai/python_workspace/python_runapp:$PYTHONPATH
#检测进程是否运行  
isRunning=$(ps -ef | grep "app" | grep -v "grep" | grep -v "vim")  
if [ "$isRunning" ] ; then  
    echo "app service was already started"  
else  
    echo "app service was not started"  
    echo "Starting service ..."  
    python /home/zhoujianghai/python_workspace/XXX/application/app.py > /dev/null 2>&1 &  
fi  

#检测站点是否可正常访问  
#$? 指访问状态
#0 正常  
#urls='http://www.app.com http://www.app2.com'
urls='http://www.app.com'  
for url in $urls  
    do  
        curl -sf $url  
        state=$?  
        if [ $state != 0 ]; then  
            PIDS=`ps -ef | grep "app" | grep -v "grep" | grep -v "vim" | grep -v "sh" | awk {"print $2"}`  
            for P in $PIDS  
                do  
                    kill -9 $P  
                done  
            python /home/zhoujianghai/python_workspace/XXX/application/app.py > /dev/null 2>&1 &  
        else  
            echo "$url is available"  
        fi  
done

2. 添加计时任务

每20分钟执行一次

crontab -e
*/20 * * * * bash /home/zhoujianghai/bin/check_app.sh

简明 Vim 练级攻略

本文转载自:酷壳 – CoolShell.cn vim的学习曲线相当的大,所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。下面的文章翻...

阅读全文

Mysql问题汇总(持续更新中)

1. 设置编码 编辑mysql安装目录下my.cnf文件 在[client]下添加: default-character-set=utf8 mysql老版本 [mysqld]下添加: default-character-set=utf8 mys...

阅读全文

Flask+Nginx+Gunicorn+Redis+Mysql搭建一个小站

首先简单介绍一下这几个东东。 Flask是一个轻量级的Web应用框架, 基于Werkzeug和 Jinja2 模板引擎,使用 Python编写,可扩展强。 Nginx是一个高性能的 HTTP ...

阅读全文

欢迎留言