+ -
当前位置:首页 → 问答吧 → 查找问题shell脚本问题!!!

查找问题shell脚本问题!!!

时间:2011-04-14

来源:互联网

callshell.sh
 内容是: nohup ./ordertime.sh >/dev/null&
ordertime.sh
内容是:  
PATH_modify_file=/cpic/sxff/PostProcess/ini
BSH_PATH=/cpic/sxff
SEND_PATH=/cpic/sxff/p11files/send/OL_MIG
mytime=`date +%H:%M`
mydate1='08:00'
mydate2='20:30'
while [ 1 = 1 ]
do
 if [ $mytime = $mydate1 ]; then
  sleep 60
  #清掉以前的Log文件
  rm -f $PATH_modify_file/ModifyProcessNum.log
  #杀掉bcklog.sh
  bcklist=`ps -ef|grep backlog|awk '{if($8=="sh") print $2 }'`
  kill -9 $bcklist
  #发送暂停信息
  echo pause>$SEND_PATH/ff_info.txt
  #调用修改参数sh
  ./ModifyMaxProcess.sh 16 12
  #启动backlog.sh
  cd $BSH_PATH
  nohup ./backlog.sh >/dev/null &
 elif [ $mytime = $mydate2 ]; then
  sleep 60
  ./ModifyMaxProcess.sh 12 16
 fi
 sleep 30
 mytime=`date +%H:%M`
done


为什么mydate2='20:30' 时 不执行这个 ./ModifyMaxProcess.sh 12 16(主要是修改配置文件中的参数).还有ordertime.sh 在后台有起一个进程.

作者: soloyear   发布时间: 2011-04-14

应该是mytime='20:30'时执行"./ModifyMaxProcess.sh 12 16"吧。会不会是你的script运行时错过了20:30 这个时间?

两个可能有用的建议:

1. 你可以用shell的“-x”参数,让shell输出一些debug信息。

2. 另外,对于这样要定时执行的任务,用cron会更方便。

作者: panghuhu250   发布时间: 2011-04-14