我正在尝试做的是运行flask命令在crontab上的Azure应用服务与linux应用服务计划.
到目前为止,我有我的startup.sh
来设置cron,但命令没有执行,日志中没有任何内容。
# startup.sh
#!/bin/sh
apt-get update -qq
apt-get install gcc -yqq
apt-get install g++ -yqq
source antenv/bin/activate
pip install -r requirements.txt
apt-get install cron -yqq
service cron start
(crontab -l 2>/dev/null; echo "*/5 * * * * /home/site/wwwroot/antenv/bin/python -m flask db update_migrations")|crontab
gunicorn --bind=0.0.0.0 --workers=4 startup:app
当我尝试通过SSH执行命令时,我必须安装需求,然后,命令本身就可以工作了
> /home/site/wwwroot/antenv/bin/python -m flask db update_migrations
但是在crontab中它不想这样做。
怎么调试它,从哪里发现问题。
谢谢你的帮助!
2条答案
按热度按时间6kkfgxo01#
这是一个变通的方法,但是也许你可以利用Advanced Python Scheduler,它也有Flask集成。这样你就可以绕过
cron
的问题。apeeds0o2#
您确定您的startup.sh是可执行的吗?
脚本必须是可执行的,所以要么安装w/ unix和chmod 755 start.sh,要么使用git命令(参见如何在Git中为文件添加chmod权限?)。
另请参阅https://stackoverflow.com/a/69923647/2606766以了解详细说明和潜在缺陷。