다음 서비스 amos.service를 만들었으며 amos (amos 그룹의 구성원)로 실행해야합니다.
[Unit]
Description=AMOS Service
After=network.target
[Service]
User=amos
Group=amos
Type=simple
WorkingDirectory=/usr/share/amos
ExecStart=/usr/share/amos/amos_service.sh start
ExecStop=/usr/share/amos/amos_service.sh stop
Restart=on-failure
[Install]
WantedBy=multi-user.target
모든 권한에 설정된 /usr/share/amos
에amos:amos
amos_service.sh는 다음과 같습니다.
#!/bin/bash
CUDIR=$(dirname "$0")
cd /usr/share/amos
start() {
exec /usr/share/amos/run_amos.sh >> /var/log/amos.log 2>&1
}
stop() {
exec pkill java
}
case $1 in
start|stop) "$1" ;;
esac
cd "$CURDIR"
루트에 속하는 디렉토리를 수정하지 않고 서비스를 처음으로 실행하고 User not Group 매개 변수가없는 amos.service를 실행하면 모든 것이 잘 작동합니다!
디렉토리 권한을 amos : amos로 변경하고 amos.service User & Group을 추가하면 서비스가 작동하지 않으며 다음과 같은 결과가 나타납니다. 첨부 된 이미지 참조
/var/log/amos.log에 기록 된 메시지와 관련하여 성공 사례와 실패 사례의 차이점은 무엇입니까?
—
sourcejedi
또한이 구성은
—
sourcejedi
/var/log
루트가 소유 한 것이 이상 합니다. 나는 당신이 /var/log/amos/
amos가 소유 한대로 생성 한 디렉토리를 사용하고 싶다고 생각합니다 .
언급 한대로 만들고 결과를 다시 기록합니다
—
itprguy