Ubuntu 16.04에서 서비스를 시작하는 중 오류가 발생했습니다.

Ubuntu 16.04에서 서비스를 시작하는 중 오류가 발생했습니다.

다음과 같은 시스템 단위 파일을 만들었습니다.

[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

하지만 서비스를 활성화하면 다음 오류가 발생합니다.

 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)

그리고 로그인 안됨/var/log/

답변1

유닛 파일에서 다음 줄의 목적을 잘못 이해했습니다.

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

이 속성은 선택하는 경우 Java 애플리케이션이 로그인할 디렉터리 위치를 설정하는 데 사용됩니다. 그러나 애플리케이션이 log4j 또는 사용하는 로거를 통해 로그를 생성하지 않는 경우 이 위치에는 로그가 없습니다.

systemd 서비스를 사용하면 애플리케이션 서비스의 모든 로깅이 Journald를 통해 수행됩니다. 애플리케이션 로그를 보려면 다음 안내를 따르세요.

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

내 SSHD 로그의 처음 10줄은 다음과 같습니다.

$ 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

인용하다

관련 정보