首页 > 解决方案 > 启用 python virtualenv 并在 crontab 中运行 python 代码

问题描述

我正在检查 python 脚本是否正在运行,如果它没有运行我会触发它,在这种情况下我需要启用 python virtualenv 然后运行 ​​python 脚本

下面是 shell 脚本 start.sh

#!/usr/bin/env bash
DIR=/apps/
cd=$DIR
result=`ps aux | grep -i "py_script.py" | grep -v "grep" | wc -l`
if [ $result -ge 1 ]
   then
        echo "py script is running"
   else
        echo "py script is not running....starting it"
        source /apps/pyenv/bin/activate
        /apps/pyenv/pyenv/bin/python /apps/py_script.py -b 1024 > output.txt 2>&1 &
fi

手动运行,它正在工作,但在 crontab 中它不起作用(py_script.py)没有启动

crontab:

*/1 * * * * /bin/cd /apps && /bin/sh start.sh 

笔记:

 /apps directory has other python scripts, which are imported in py_script.py and uses other config files under directory /apps

请帮我解决问题

或提供任何替代解决方案,基本上需要检查 py_script.py 是否正在运行,如果没有运行,请调用 python virtualenv 并运行 python 代码。

标签: pythonlinuxbashshellcron

解决方案


推荐阅读