【问题标题】:How to get crontab job depencies working and avoid command not found如何让 crontab 作业依赖项正常工作并避免找不到命令
【发布时间】:2021-04-14 04:50:37
【问题描述】:

我的 cron 作业需要运行一个 shell 脚本,该脚本调用依赖于 python 和 pip 包的 python 命令。如何让我的脚本在 cron 中运行?

我的shell脚本很简单

#!/bin/bash
TOKEN=XXXX-XXXX-XXXX
bdate=$(date -d "$date -30 days" +"%Y%m%d")
# slack-cleaner was installed with pip install slack-cleaner
slack-cleaner --token $TOKEN --message --channel ci-builds --botname circle-ci --before $bdate

我的 crontab 是

50 3 * * *  bash /home/myuser/bin/slack_cleaner.sh

我收到邮件日志中的错误

tail -f /var/mail/myuser # outputs 
X-Cron-Env: <HOME=/home/myuser>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=myuser>
Message-Id: <20210108034301.5F00F44531@someplace>
Date: Fri,  8 Jan 2021 03:43:01 +0000 (UTC)

/home/myuser/bin/slack_cleaner.sh: line 5: slack-cleaner: command not found

【问题讨论】:

    标签: python bash path cron


    【解决方案1】:

    crontab -e中加载用户的PATH变量

    1. 复制echo $PATH的输出,然后运行crontab -e

    2. 在您的 cron 作业之前添加这两行

    SHELL=/bin/bash
    PATH=<paste what you copied in step 2 here>
    
    
    

    【讨论】:

      猜你喜欢
      • 2021-05-08
      • 2014-03-23
      • 1970-01-01
      • 2020-10-06
      • 1970-01-01
      • 2012-11-28
      • 2013-08-31
      • 2013-09-15
      • 1970-01-01
      相关资源
      最近更新 更多