Erro ao iniciar o serviço no Ubuntu 16.04:

1

Eu criei um arquivo de unidade do systemd assim:

[Unit]
Description=Menu Core Prices Update Daemon
After=network.target

[Service]
Environment="APP_CP=/opt/menu/menu-core-price-update"
Environment="JAVA_HOME=/usr/java/latest"
Environment="APP_NAME=menu-core-prices-update-0.0.1-SNAPSHOT.jar"
Environment="LOGPATH=/var/log/menu/menu-core-price-update"
ExecStartPre=/bin/mkdir -pm 0755 ${LOGPATH}
ExecStart=/bin/bash -c "$JAVA_HOME/bin/java -jar ${APP_NAME}"
PIDFile=/run/menu/menu-core-price-update%i.pid
Restart=on-abort
RuntimeDirectory=menu-core-price-update
RuntimeDirectoryMode=755
WorkingDirectory=/opt/menu/menu-core-price-update

[Install]
WantedBy=multi-user.target

mas quando habilito o serviço, recebo este erro:

 systemctl status menu-core-prices-update.service
    ● menu-core-prices-update.service - menu Core Prices Update Daemon
       Loaded: loaded (/usr/lib/systemd/system/menu-core-prices-update.service; enabled; vendor preset: enabled)
       Active: failed (Result: exit-code) since Sat 2018-07-21 06:17:43 UTC; 6min ago
      Process: 5154 ExecStartPre=/bin/mkdir -pm 0755 ${LOGPATH} (code=exited, status=200/CHDIR)

e não há log in /var/log/

    
por en Peris 21.07.2018 / 08:26

1 resposta

1

Você está entendendo mal o propósito desta linha no arquivo da unidade:

Environment="LOGPATH=/var/log/menu/menu-core-price-update"

Esta propriedade é para configurar um local de diretório para o seu aplicativo Java efetuar login, se assim desejar. Mas se o aplicativo não gerar logs via log4j ou qualquer logger usado, não haverá logs neste local.

Com os serviços do systemd, todo o log do serviço de aplicativo é feito através do journald. Para ver seus registros de aplicativos:

$ journalctl -u menu-core-price-update.service

Exemplo

Aqui estão as primeiras 10 linhas dos logs do meu sshd

$ journalctl -u sshd.service -n 10
-- Logs begin at Tue 2018-07-17 16:01:01 EDT, end at Sat 2018-07-21 03:05:37 EDT. --
Jul 21 00:55:04 centos7 sshd[9059]: Connection closed by 127.0.0.1 port 33718 [preauth]
Jul 21 00:55:04 centos7 sshd[9067]: Connection closed by 127.0.0.1 port 33720 [preauth]
Jul 21 00:55:08 centos7 sshd[9078]: pam_unix(sshd:auth): authentication failure; logname= uid=
Jul 21 00:55:10 centos7 sshd[9078]: Failed password for user1 from 127.0.0.1 port 33722 ssh2
Jul 21 00:55:10 centos7 sshd[9078]: error: maximum authentication attempts exceeded for user1
Jul 21 00:55:10 centos7 sshd[9078]: Disconnecting: Too many authentication failures [preauth]
Jul 21 00:55:21 centos7 sshd[9110]: Connection closed by 127.0.0.1 port 33724 [preauth]
Jul 21 00:55:21 centos7 sshd[9118]: Connection closed by 127.0.0.1 port 33726 [preauth]
Jul 21 00:55:23 centos7 sshd[9129]: Accepted password for user1 from 127.0.0.1 port 33728 ssh2
Jul 21 02:24:41 centos7 sshd[9433]: Accepted publickey for vagrant from 10.0.2.2 port 50662 ss

Referências

por 21.07.2018 / 09:07