linux写个定时任务shell守护进程

##设置dump文件大小的限制,咱这,无限制

ulimit -c unlimited
cd /home/linbc/build/bin

#检查一下dump文件夹是否存在不存在则创建
if [ ! -d ../dumpfile ]
then
        echo "create dumpfile fold"
        mkdir ../dumpfile
fi

#查找my_app1,是否存在(咱们不可能每次都重启这个进程,比如在我这个场景,要app1进程存在,我才会继续启动)
if [ -z `pgrep my_app1` ]
then
        echo "my_app1 not running!"
        exit
fi


#查找my_app2是否存在,不存在则启动
if [ -z `pgrep my_app2` ]
then
        echo "my_app2 not running!"

        #备份dump文件,我在这个路径下弄了个文件夹用于存放dump文件
        app2_pid=`tail -1 ../dumpfile/app2.pid`
        if [ -n $app2_pid -a -e "core.${app2_pid}" ]
        then
                echo "backup dumpfile,move core.${app2_pid} ../dumpfile/centd.core.${app2_pid}"
                mv "core.${app2_pid}" "../dumpfile/app2.core.${app2_pid}"
        fi

        echo "start the app2 server"
        nohup ./my_app2 -c my_app2.conf > _app2.out 2>&1 &

        #将进程号存下来,用来重命名dump文件
        pgrep my_app2 >> ../dumpfile/app2.pid
fi

cd ${OLDPWD}

 

 
 

然后就可以在shell

crontab –e

写入

0-59/5 * * * * /home/linbc/bin/check_the_process

每五分钟检查一下

posted @ 2011-09-07 10:16  冷侃  阅读(3974)  评论(0编辑  收藏  举报