A-A+
Linux shell 自动重启脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
#!/bin/sh source /etc/profile proc_name="iget_spider" #current_time=`date +%Y%m%d+%H%M%s` NUM=`ps -ef|grep $proc_name|grep -v grep|wc -l` proc=`ps -ef|grep $proc_name|grep -v grep` echo "--------------num is:"$NUM ";time is :"$(date) ";proc is " $proc "-------------" if [ $NUM -eq 0 ] then echo -e $NUM echo -e "the spider not alive,start spider" cd /home/spider/ echo "now start spider" nohup ./startup.sh > /dev/null 2>&1 & # source ./startup.sh >> ./spiderlog echo "d" >> ./spiderlog else echo "spider is alived ,first kill then start,proc_num:"$NUM pkill -9 $proc_name /bin/sleep 3 cd /home/spider/ echo "now start spider after kill" nohup ./startup.sh > /dev/null 2>&1 & # source ./startup.sh >> ./spiderlog /bin/sleep 3 fi |
我的spider程序是java写的,需要开始时候重新source下profile 否则无法启动。其他就是 一个简单的判断,如果存在 kill掉启动。不存在直接启动。解决的问题是 我的spider经常假死 我给加到contab里 这样就可以定期启动了。真死了 我就定期检查给启动了。假死了 我就杀掉启动。同时留个日志。