매일 적절한 업그레이드 및 정리 활동 후에 특정 systemctl 서비스가 중지됩니다.

매일 적절한 업그레이드 및 정리 활동 후에 특정 systemctl 서비스가 중지됩니다.

여러 서버에서 문제가 발생했습니다(한 달에 한 번, 두 번 발생함). Daily apt upgrade and clean activities어떤 이유로 시작하면 특정 서비스가 중지되고 시작되지 않아 서비스가 꺼지고 수동으로 시작해야 합니다.

syslogs에서 다음을 볼 수 있습니다.

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.

로그에서 볼 수 있듯이, 시작되면 ACPI 이벤트 데몬도 시작되어 Odoo 11서비스가 중지되지만 이 서비스는 중지되어서는 안 되지만 중지된 상태로 유지됩니다.

다음은 Odoo 11 서비스에 대한 systemd 구성입니다.

[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

시스템 시작-중지 서비스 구성에 문제가 있는 것일까요? 하지만 해당 서비스를 직접 실행하면 의도한 대로 작동합니다.

답변1

Wants=.NET 대신 PostgreSQL 서비스 종속성을 사용하고 싶을 수도 있습니다 Requires=.

를 사용하면 Wants=소프트웨어 업그레이드를 위해 PostgreSQL이 중지/시작되었다는 이유로 앱이 중지되지 않습니다.

에서 차이점에 대해 자세히 알아보세요 man systemd.unit.

관련 정보