我不确定为什么会发生这种情况,我目前在我的crontab -e
*/30 * * * * cd /home/www/ && source env/bin/activate && pip install --upgrade youtube_dl >/dev/null 2>&1
问题是这实际上并没有更新脚本。当我跑步时
cd /home/www/ && source env/bin/activate && pip install --upgrade youtube_dl >/dev/null 2>&1
在终端升级,但是当它通过cron运行时它不会。
我应该将其分解为bash脚本以保证成功吗?如果我能在终端中运行命令并且成功执行,那么我的印象就是crontab。
答案 0 :(得分:1)
cron使用/bin/sh
作为它的shell,而不是bash。你正在调用source
,这是一个bash命令。
注意:您可以将source
替换为.
,并且两个shell都会识别该命令。