Python Crontab从未在Ubuntu上运行过

Python Crontab从未在Ubuntu上运行过,python,shell,ubuntu,cron,Python,Shell,Ubuntu,Cron,我有以下crontab设置 30 * * * 1-5 /home/ubuntu/script_abc.sh script_abc.sh拥有权限-rwxr-xr-x和以下内容 #!/bin/sh source ~/my_app/venv/bin/activate export APP_KEY=abkajdfljdasfljdalfk cd ~/my_app python ~/my_app/scripts/scan.py crontab似乎从未运行过我的脚本。有什么想法吗 是本地用户

我有以下crontab设置

30 * * * 1-5   /home/ubuntu/script_abc.sh 
script_abc.sh拥有权限
-rwxr-xr-x
和以下内容

#!/bin/sh

source ~/my_app/venv/bin/activate

export APP_KEY=abkajdfljdasfljdalfk
cd ~/my_app
python ~/my_app/scripts/scan.py 

crontab似乎从未运行过我的脚本。有什么想法吗

是本地用户的crontab还是您正在/etc/cron.d中进行更改/ 如果是后者,您需要提及用户名,就像我在下面的示例中所做的那样:

30 14 * * *   root <script>
30 14***根目录
如果是前者,你可以

  • 查看系统日志。您将看到当cron守护进程试图调用您的脚本时发生了什么

  • 确保在所有脚本中都有绝对路径


  • 它是本地用户的crontab还是您正在/etc/cron.d中进行更改/ 如果是后者,您需要提及用户名,就像我在下面的示例中所做的那样:

    30 14 * * *   root <script>
    
    30 14***根目录
    
    如果是前者,你可以

  • 查看系统日志。您将看到当cron守护进程试图调用您的脚本时发生了什么

  • 确保在所有脚本中都有绝对路径


  • crontab未设置路径,无法找到二进制文件。在脚本顶部添加路径,或在crontab顶部添加导出

    # for example
    PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
    

    crontab未设置路径,无法找到二进制文件。在脚本顶部添加路径,或在crontab顶部添加导出

    # for example
    PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
    

    crontab可以作为不同的用户、不同的权限和不同的系统变量运行脚本。使用完整路径很好-而不是
    ~/
    似乎错误即将来临我无法激活Python虚拟环境,使用程序的完整路径很好-
    /usr/bin/Python
    。您可以使用
    which
    -即
    which python
    获取程序的完整路径。记住您的
    。profile
    crontab
    跳过,路径修改和其他设置被忽略。在脚本或crontab命令中尝试
    source/home/ubuntu/.profile
    。crontab可以作为不同的用户、不同的权限和不同的系统变量运行脚本。使用完整路径很好-而不是
    ~/
    似乎错误即将来临我无法激活Python虚拟环境,使用程序的完整路径很好-
    /usr/bin/Python
    。您可以使用
    which
    -即
    which python
    获取程序的完整路径。记住您的
    。profile
    crontab
    跳过,路径修改和其他设置被忽略。在脚本或crontab命令中尝试
    source/home/ubuntu/.profile