Centos 7 에서 자동 시작 서비스 설정

1573 단어
서버 가 서 비 스 를 배치 한 후에 서 비 스 를 켜 진 상태 로 설정 하여 장치 가 지연 되 거나 전기 가 끊 겨 다시 시작 되 거나 서비스 가 접근 할 수 없 는 상황 이 발생 하지 않도록 해 야 한다.
일반적인 서비스 (httpd, my sqld, nginx) 에 있어 서 시스템 systemctl enable 을 통 해 이 일 을 완성 할 수 있 습 니 다.그러나 자신 이 개발 한 서비스, 예 를 들 어 docker 를 통 해 systemctl enable 를 통 해 실행 할 수 있 습 니까? 다음은 실현 방안 입 니 다.
Step 1 - 시작 파일 만 들 기
vim auto_start_script.sh

#!/bin/bash
/usr/bin/docker-compose -f /home/user/docker-compose/docker-compose.yml  up -d

Step 2 - 설정 권한
# get file info
ls -lrt auto_start_script.sh

# add executable permissions
chmod 744 auto_start_script.sh

Step 3 - 사용자 정의 시스템 서비스
# Add the service startup file
vim /etc/systemd/system/ctg_docker.service

[Unit]
Description=running docker-compose at the system boot
After=docker.service

[Service]
ExecStart=/home/user/docker-compose/config/auto_start_script.sh

[Install]
#           desktop   
WantedBy=default.target

# change permission
chmod 644 /etc/systemd/system/ctg_docker.service

Step 4 - 테스트 서비스
#     
systemctl daemon-reload

#     ,      
systemctl start ctg_docker.service

#       
systemctl enable ctg_docker.service

#     
reboot

#         
cat /proc/uptime| awk -F. '{run_days=$1 / 86400;run_hour=($1 % 86400)/3600;run_minute=($1 % 3600)/60;run_second=$1 % 60;printf("     :%d %d %d %d ",run_days,run_hour,run_minute,run_second)}'

date -d "$(awk -F. '{print $1}' /proc/uptime) second ago" +"%Y-%m-%d %H:%M:%S"

좋은 웹페이지 즐겨찾기