我正在做什么
我一直在将一个设置迁移到另一个设置,复制配置并安装依赖项,我即将完成,直到屏幕无法按预期工作。
我有一个脚本,我一直在启动时初始化的独立屏幕上运行,设置实际上与旧机器上的设置相同,但仍然没有运气
我拥有的:
- 一台 Ubuntu 20.04 机器
- 包含以下内容的 bar.screenrc:
screen sh /path/to/file/foo.sh
- foo.sh 包含以下内容:
#!/usr/bin/env python3.8
cd /path/to/file/
gunicorn --bind 0.0.0.0:5002 wsgi:app --log-level debug --error-logfile gunicorn.log
- 一个 cronjob,内容如下:
@reboot /usr/bin/screen -c /path/to/file/bar.screenrc >> /path/to/file/cron.log 2>&1 -dmS API
场景
重新启动时没有出现新的会话,但是,如果我复制并粘贴该行(不带@reboot),它将按预期工作。
我尝试将 .screenrc 更改为/usr/bin/screen /usr/bin/sh /path/to/file/foo.sh
,此更改确实会启动分离屏幕,但它不会运行 gunicorn 实例
这个完全相同的方案在旧设置上有效,并且过去在我的其他项目中也有效
免责声明
我知道可以用服务而不是屏幕来完成事情,这超出了当前项目和这个问题的范围。