serviço systemctl específico é interrompido após atualizações diárias do apt e atividades limpas

serviço systemctl específico é interrompido após atualizações diárias do apt e atividades limpas

Tenho problemas em vários servidores (aconteceu duas vezes, um por mês) onde iniciar Daily apt upgrade and clean activitiespor algum motivo interrompe meu serviço específico e nunca mais o inicia, então ele está desligado e preciso iniciá-lo manualmente.

Em syslogs eu vejo isso:

Mar  7 06:59:24 server systemd[1]: Starting Daily apt upgrade and clean activities...
Mar  7 06:59:38 server systemd[1]: Reloading.
Mar  7 06:59:38 server systemd[1]: Started ACPI event daemon.
Mar  7 06:59:38 server systemd[1]: Stopping Odoo 11...
Mar  7 06:59:39 server systemd[1]: Stopped Odoo 11.
Mar  7 06:59:39 server systemd[1]: Stopped PostgreSQL RDBMS.
Mar  7 06:59:39 server systemd[1]: Stopping PostgreSQL Cluster 9.5-main...
Mar  7 06:59:41 server systemd[1]: Stopped PostgreSQL Cluster 9.5-main.
Mar  7 06:59:42 server systemd[1]: Reloading.
Mar  7 06:59:42 server systemd[1]: Starting Daily apt download activities...
Mar  7 06:59:42 server systemd[1]: Started ACPI event daemon.
Mar  7 06:59:42 server systemd[1]: Reloading.
Mar  7 06:59:42 server systemd[1]: Started ACPI event daemon.
Mar  7 06:59:42 server systemd[1]: Starting PostgreSQL Cluster 9.5-main...
Mar  7 06:59:45 server systemd[1]: Started PostgreSQL Cluster 9.5-main.
Mar  7 06:59:45 server systemd[1]: Starting PostgreSQL RDBMS...
Mar  7 06:59:45 server systemd[1]: Started PostgreSQL RDBMS.
Mar  7 06:59:51 server systemd[1]: Started Daily apt upgrade and clean activities.
Mar  7 06:59:59 server systemd[1]: Started Daily apt download activities.

Como você pode ver no log, quando ele inicia, ele também inicia o daemon de eventos ACPI, que então interrompe Odoo 11o serviço, mas esse serviço permanece parado, mesmo que não devesse.

E aqui está a configuração do systemd para o serviço Odoo 11:

[Unit]
Description=Odoo 11
Requires=postgresql.service
After=postgresql.service

[Service]
Type=simple
PermissionsStartOnly=true
User=odoo
Group=odoo
SyslogIdentifier=odoo11
ExecStart=/opt/odoo/venv/bin/python3 /opt/odoo/odoo/odoo-bin -c /etc/odoo11.conf

[Install]
WantedBy=multi-user.target

Talvez algo errado com a configuração do serviço start-stop do systemd? Porém, se eu mesmo executar esse serviço, ele funcionará conforme o esperado.

Responder1

Você provavelmente deseja usar Wants=com sua dependência de serviço PostgreSQL em vez de Requires=.

Com Wants=, seu aplicativo não será interrompido apenas porque o PostgreSQL foi interrompido/iniciado para uma atualização de software.

Leia mais sobre a distinção em man systemd.unit.

informação relacionada