我遇到一个问题,每次我硬重启服务器(可能由于内存不足、ddosed 等原因而崩溃)时,supervisor 都无法运行。原因已经确定,只需删除 /var/run/supervisor 目录即可。
我了解到 /var/run 文件夹在硬重启时会被删除(例如通过 ec2 面板强制停止然后启动),所以我的问题是:
每次硬重启后我如何执行此操作mkdir /var/run/supervisor
?哪里是添加此类逻辑的最佳位置。我猜肯定不是 /etc/profile
(其余工作正常,supervisor 配置为服务 + 在 var/run/supervisor/supervisor.sock 使用 unix sock)
我的ubuntu版本:
lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.2 LTS
Release: 20.04
Codename: focal
答案1
在 Ubuntu 20 中,我希望 Supervisor 作为 systemd 服务单元启动。
在主管服务单元中,您需要指定创建的目录:(单元名称可能不同)
https://serverfault.com/a/779648&https://serverfault.com/a/840999
sudo systemctl edit --full supervisor
并添加指令:
RuntimeDirectory=supervisor