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

1

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

Nos syslogs eu vejo isto:

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 isso, ele também inicia o daemon de evento ACPI, que então para Odoo 11 service, mas esse serviço permanece parado, mesmo que não deva ser.

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 esteja errado com a configuração do serviço start-stop do systemd? Embora, se eu executar esse serviço sozinho, funcione como pretendido.

    
por Andrius 07.03.2018 / 13:52

1 resposta

1

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

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

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

    
por 07.03.2018 / 16:35