리눅스 서버 스크립트 부팅 시 자동 시작되게 하는 방법, Systemd 방식
- 운영체제 정보
- 2025. 2. 4.
참고 출처: 네이버블로그, chatGPT
/etc/systemd/system/ 또는 /usr/lib/systemd/system/ 경로에 관련 파일이 저장 됨
사용방법
조건: 서버 자동 기동 시 엔진 서비스는 2분후 자동 시작되어야한다.(DB보다 늦게 기동 필요)
엔진 스크립트 경로 샘플: /home/massmail/ThunderMail6.0/script/tm6-engine
sudo nano /etc/systemd/system/tm6-engine <- 서비스 유닛 파일 생성 및 파일 내용
=================================
[Unit]
Description=TM6 Engine Service
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
ExecStartPre=/bin/sleep 120
ExecStart=/home/massmail/ThunderMail6.0/script/tm6-engine start
ExecStop=/home/massmail/ThunderMail6.0/script/tm6-engine stop
Restart=always
User=nobody
[Install]
WantedBy=multi-user.target
====================================
설명
ExecStartPre=/bin/sleep 120: 서비스 시작 전에 120초(2분) 대기.
ExecStart: tm6-engine 시작 스크립트 호출.
ExecStop: tm6-engine 정지 스크립트 호출.
Restart: 서비스가 비정상적으로 종료될 경우 자동으로 재시작합니다.
User: 서비스를 실행할 사용자를 지정합니다.
WantedBy: 어떤 target에서 이 서비스를 사용할 것인지 지정합니다.
서비스 등록 및 활성화
아래 명령어로 서비스를 등록하고 활성화한다.
sudo systemctl daemon-reload # 변경된 설정 다시 로드
sudo systemctl enable tm6-engine # 부팅 시 자동 시작 설정
sudo systemctl start tm6-engine # 서비스 시작
서비스 상태 확인
sudo systemctl status tm6-engine
테스트
서버를 재부팅하고 2분 대기 후 tm6-engine이 자동 실행되는지 확인한다.
이 설정은 /home/massmail/ThunderMail6.0/script/tm6-engine 경로 및 2분 대기 조건을 반영한 것이다.
필요에 따라 경로나 사용자/그룹을 수정 가능하다.
안녕하세요. 썬더메일입니다. 영업문의: 070-7095-9792 , 기술문의: 070-7095-9794 , 메일문의처
지원 서비스: 대량ㆍ자동메일(API포함), 대량ㆍ자동SMS, 카카오톡 알림톡, 설문조사(와이즈서베이)