crontab无法找到正在运行的进程

时间:2019-01-23 11:27:31

标签: shell cron

crontab如下所示:

SHELL=/bin/bash

* * * * *  /home/zaks/influx_rabbitmq_restorer.sh > /home/zaks/crontab.txt 2>&1

influx_rabbitmq_restorer.sh

ps -aux | grep -v grep | grep rabbitmq_restorer
RESULT=$?
echo $RESULT
if [ $RESULT -eq 0 ]; then
   echo "running"
else
   echo "not running"
   (nohup python -u  /home/zaks/rabbitmq_restorer.py  )
fi
  1. 当我手动运行脚本/home/zaks/influx_rabbitmq_restorer.sh时,结果为1(“未运行”)。

  2. 但是/home/zaks/crontab.txt处的cronjob日志显示:

    zaks 11612  0.0  0.0  12504  2936 ?        Ss   03:15   0:00 /bin/bash -c /home/zaks/influx_rabbitmq_restorer.sh > /home/zaks/crontab.txt 2>&1
    zaks 11613  0.0  0.0  12516  2388 ?        S    03:15   0:00 /bin/bash -c /home/zaks/influx_rabbitmq_restorer.sh > /home/zaks/crontab.txt 2>&1
    0
    running
    

cronjob无法检测到rabbitmq_restorer进程。

1 个答案:

答案 0 :(得分:1)

将脚本的第一行编辑为:

ps -aux | grep -v grep | grep -v influx_rabbitmq_restorer.sh| grep rabbitmq_restorer