Linux OS/기본

부팅시 서비스 관리

서버엔지니어 2023. 3. 12.
728x90

chkconfig

runlevel에 따라 신규로 서비스를 등록하고, 등록된 서비스를 조회하는 커맨드라인 툴임

1. 등록된 서비스 조회
$ chkconfig --list 
현재 등록된 모든 서비스에 대해 시스템 runlevel 별로 on 또는 off 되었는지 정보를 보여줌

2. 서비스 신규 등록

1) 해당 서비스 실행 파일(실행파일 또는 스크립트파일)을 /etc/init.d 디렉토리로 복사 함
2) 서비스 목록에 추가 

(명령어)
$ chkconfig --add [실행/스크립트 파일명]

(예시)
$ chkconfig --add httpd
3) runlevel에 해당 서비스를 실행 설정 (on 시킴)


(명령어) 
$ chkconfig --level [runlevel] [실행/스크립트 파일명] on

 

(예시) 
$ chkconfig --level 2345 httpd on
-> httpd 서비스를 Run Level 2,3,4,5로 부팅 시에 httpd 아파치 프로세스를 시작해라 !

3. 서비스 on/off

(명령어)
$ chkconfig  [실행/스크립트 파일명] on/off

(예시)
$ chkconfig  httpd off
-> httpd 서비스를 off 시킴

[참고] 최근 리눅스 버전(CentOS 7, RHEL 7 등)에서는 기존 init 데몬 대신에 systemd라는 데몬을 통해 기동 시에 프로세를 관리하는데 이에 따라 chkconfig, service 명령어는 systemctl 명령어로 대체되고 있다.

systemctl enable 이름 = chkconfig 이름 on

==============================================================

ntsysv


yum install ntsysv

ntsysv 하면 실행된다.CUI툴로 정해서 체크하고 하면된다.
#ntsysv (chkconfig와 같은기능 하지만 Centos, RedHat 기반에 운영체제에서만 사용가능)
Root권한으로만 실행가능하다
ntsysv 하면 화면 이동 켜줄것 체크하기

==============================================================

rc.local


rc.local은 부팅시 자동실행 명령어 스크립트 수행
일반적으로 서버 부팅시마다 매번 자동 실행되길 원하는 명령어는

vi /etc/rc.d/rc.local에 넣어준다.

"rc.local" 파일의 실행 권항을 부여하기 위해 아래의 명령어를 입력합니다.
chmod +x /etc/rc.d/rc.local
아래의 명령어로 "rc-local.service"의 상태를 확인합니다.

systemctl status rc-local.service
"rc-local.service"가 활성화 되어있지 않다면 아래의 명령어로 서비스를 활성화 시킵니다.

systemctl start rc-local.service

"/usr/lib/systemd/system/rc-local.service" 파일에 아래와 같이 기입합니다. 
기입한 "WantedBy=[]" 명령어는 "systemctl enable" 명령어로 유닛을 등록할 경우 등록에 필요한 유닛을 지정합니다. 

vi /usr/lib/systemd/system/rc-local.service
==============================================================
[Install]
WantedBy=multi-user.target

==============================================================


재부팅 시에도 활성화 되도록 아래의 명령어를 입력합니다.
systemctl enable rc-local.service

설정이 제대로 되었는지 확인합니다. 
systemctl list-unit-files | grep rc.local

"rc. local" 파일 설정 후 재부팅 시 등록한 실행 명령어들이 동작하는지 확인합니다.

 

# chmod 755 /etc/rc.d/rc.local
# vi /etc/rc.d/rc.local
예) /var/daemon start 이런식으로 넣어주기

예)  /home/93it/tomcat/bin/startup.sh


.profile
로그인시 적용된다.
/etc 에 있는 설정파일 보다 먼저 적용된다.
계정내에 적용된다.
패스나 쉘활경 파일내용을 설정한다.

rc.local
부팅시 실행될 것들이 적용된다.
부팅시 가장 나중에 적용된다.
데몬과 같은 것들이 들어간다.

댓글