Ubuntu systemd service 만들기

in ubuntu •  7 years ago  (edited)

다음과 같은 명령어를 하나의 service로 작성하려 한다.

java `cat conf-quickstart/druid/historical/jvm.config | xargs` -cp "conf-quickstart/druid/_common:conf-quickstart/druid/historical:lib/*" io.druid.cli.Main server historical


systemd service를 만들기 위해선 총 두개의 step이 필요하다.

  1. 먼저 명령어를 .sh 파일로 만들어준다.
  2. .sh를 이용해 .service 파일을 만들어 systemd에 service로 등록한다.


1. .sh 파일 만들기
/opt/shell/druid 라는 폴더를 만들어, 그 폴더에 .sh 파일들을 모두 생성해주었다.

sample) broker.sh

#!/usr/bin/env bash
cd /opt/druid
/usr/bin/java `cat conf-quickstart/druid/broker/jvm.config | xargs` -cp "conf-quickstart/druid/_common:conf-quickstart/druid/broker:lib/*" io.druid.cli.Main server broker


2. .service 파일 만들기
/lib/systemd/system/ 에 .service 파일을 생성해 주었다.

sample) druid-broker.service

[Unit]
Description=Druid broker

[Service]
WorkingDirectory=/opt/druid
ExecStart=/opt/shell/druid/broker.sh
Type=simple
User=ubuntu
Restart=always

[Install]
WantedBy=multi-user.target


3.  service 시작하기
다음 명령어로 service를 시작할 수 있다.

sudo service druid-broker start

다음 명령어로 service의 상태를 확인할 수 있다.

service druid-broker status


참고자료 : https://pinedance.github.io/blog/2017/09/12/Ubuntu-16.04-system-service-%EB%93%B1%EB%A1%9D%ED%95%98%EA%B8%B0

https://hyodev.wordpress.com/2017/03/07/%EC%9A%B0%EB%B6%84%ED%88%AC-systemd-%EC%84%9C%EB%B9%84%EC%8A%A4-%EB%93%B1%EB%A1%9D/


작성자 : RE팀 김연수 ([email protected])

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!