본문으로 바로가기

728x90

CentOS 7에서 서비스를 쉘스크립트를 기반으로 생성하고 실행하는 방법에 대해서 설명합니다.

 

지난 글에서 쉘스크립트에 start/stop/restart를 통해 실행하는 방법을 설명했습니다.

 

Linux Shell Script with start/stop(시작/종료 쉘스크립트 만들기)

리눅스 운영중에 쉘에 시작(start)과 종료(stop) 그리고 재시작(restart) 파라메터를 받아서 해당 작업을 수행하는 방법을 설명합니다. 1. 쉘 스크립트 만들기 아래 코드는 참고자료의 링크에 해당하

parandol.tistory.com

 

서버가 실행될 때 특정 쉘스크립트를 자동으로 실행하기 이해서는 /etc/rc.local 에 등록하여 자동으로 실행할 수 있습니다. 하지만, 해당 쉘을 종료하거나 상태를 확인할 수 없습니다. 이런 상황에서는 쉘스크립트를 서비스로 등록하여 사용하면 됩니다.

 

서비스 생성하기

아래의 코드와 같이 서비스를 생성합니다.

[root@localhost ~]# vi /etc/systemd/system/myservice.service
[Unit]
Description=My Service
After=network.target

[Service]
Type=simple
PIDFile=/var/run/tunnel.pid
ExecStart=/root/myservice.sh start
ExecStop=/root/myservice.sh stop
ExecRestart=/root/myservice.sh restart
Restart=on-failure

[Install]
WantedBy=multi-user.target

서비스의 내용이 변경되었다면 다음 명령을 실행하여 시스템에 재반영합니다.

[root@localhost ~]# systemctl daemon-reload

등록된 서비스 목록은 다음명령으로 확인 가능합니다.

[root@localhost ~]# systemctl list-unit-files

 

서비스 등록/실행/종료/재시작

아래의 명령을 수행하면 서비스에 등록된 각 명령(ExecStart, ExecStop, ExecRestart)가 실행됩니다.

[root@localhost ~]# systemctl enable myservice

[root@localhost ~]# systemctl start myservice

[root@localhost ~]# systemctl stop myservice

[root@localhost ~]# systemctl restart myservice

 

참고자료

 

 

728x90