티스토리 뷰

linux의 실행파일이 자주 사용되어지고 또 재기동시 자동으로 시작되어야 한다면 실행파일을 Service에 등록을 하고 사용한다. Systemd를 통해서 Service를 등록할수도 관리할수도 있다. 이 모든 작업을 할때는 root 권한으로 진행을 해야 한다. 

 

필자는 MinIO를 설치했고 이를 실행하기 위한 startup.sh, shutdown.sh 파일을 만들었다. (startup.sh의 경로는 /app/minio/oingdaddy) 이를 Service에 등록하고 또한 OS 재기동이 될때 MinIO Service가 자동으로 실행되도록 할 계획이다. (혹시 궁금하신 분이 있을까 덧붙이자면 MinIO 설치 및 실행파일 생성은 여기를 참고하도록 한다.)

 

CentOS version은 7.9 이다. 


Service 등록 위치

# cd /etc/systemd/system

Service를 등록하기 위해서는 위의 경로로 이동을 한다. 그리고 아래와 같은 스크립트를 작성하도록 한다. 

 

Service 등록 스크립트 작성

/etc/systemd/system/minio.service

[Unit]
Description=Systemd MinIO Daemon

[User]
User=oingdaddy
Group=oingdaddy

[Service]
Type=simple
ExecStart=/app/minio/oingdaddy/startup.sh
ExecStop=/app/minio/oingdaddy/shutdown.sh
Restart=always

[Install]
WantedBy=multi-user.target

실행을 시킬 계정, start, stop 등에 대한 정보를 넣어서 위와 같이 작성을 하고 저장을 한다. 

 

Service 실행

# systemctl start minio.service

 

Service 기동 확인

# systemctl status minio.service

실행을 하면 정상적으로 기동이 되었는지 systemctl status를 통해 확인을 해준다. loaded, active, running 상태인지 잘 확인한다. 

# systemctl list-units --type service --all

참고로 이것은 모든 Service 들의 목록을 확인하는 것이다.

 

OS 재기동시 Service 자동 시작 등록

마지막으로 OS가 재기동시에 Service가 자동으로 실행되도록 하는 방법이다. 

# systemctl enable minio

이렇게 실행을 하면 자동 시작 등록이 완료가 된 것이다. 참고로 위 명령을 실행하면 

Created symlink from /etc/systemd/system/multi-user.target.wants/minio.service to /etc/systemd/system/minio.service.

이런 로그가 찍히는데 /etc/systemd/system/multi-user.target.wants 로 들어가보면 재기동시 실행할 Service들을 확인할 수 있다. 

 

끝!

댓글
최근에 올라온 글
최근에 달린 댓글
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30