DevOps BootCamp/Linux

서비스 관리

cloudmaster 2023. 3. 13. 13:15

★ 데몬과 서비스

 데몬 : 리눅스 환경에서 시스템이 초기화가 끝난 후, init 이라는 특별한 프로그램에 의해 자발적으로 백그라운드에서 실행 하는 프로그램을 의미 

  > 백그라운드에서 작동하는 프로세스

 - 보통 syslogd, httpd 처럼 프로그램 이름 끝에 d가 붙음

 

데몬이 수행하는 작업

 ● 하드웨어 장치 관리

 ● 보조 기억장치와 디렉토리의 연결(마운트)

 ● 네트워크를 통한 프로세스간 통신(소켓)

 ● 애플리케이션 수준의 서비스 제공

 

★ 대표적인 데몬의 예 : 웹 서버(httpd)

  - busybox : 각종 유틸리티를 담은 일종의 “스위스 군용 칼”과 같은 리눅스용 애플리케이션

# index.html라는 HTML 파일을 하나 만듭니다
$ echo "<html><body><h1>나의 첫 HTML 페이지</h1></body></html>" > index.html

# 웹 서버를 실행하고, 8888 포트를 통해 접속 가능하게 합니다
$ busybox httpd -h . -p 8888

# 웹 서버에 접속합니다
$ curl http://localhost:8888
<html><body><h1>나의 첫 HTML 페이지</h1></body></html>

# 프로세스 확인 명령을 통해 데몬이 실행중인지를 확인합니다
$ ps aux | grep httpd
ubuntu      2282  0.0  0.0   2040    80 ?        Ss   18:39   0:00 busybox httpd -h ./wwwroot/ -p 8888
ubuntu      2287  0.0  0.1   6420  1832 pts/0    S+   18:40   0:00 grep --color=auto httpd

# PID를 이용해 프로세스를 죽입니다
$ kill -9 2282

# 웹 서버에 다시 접속하면, 접속에 실패한 것을 확인할 수 있습니다
$ curl http://localhost:8888
curl: (7) Failed to connect to localhost port 8888 after 0 ms: Connection refused

 

★ 대표적인 데몬 : cron

 - 스케쥴에 따라 명령을 실행하는 도구

 

● cron 실습

$ crontab -e
no crontab for ubuntu - using an empty one

Select an editor.  To change later, run 'select-editor'.
  1. /bin/nano        <---- easiest
  2. /usr/bin/vim.basic
  3. /usr/bin/vim.tiny
  4. /bin/ed

Choose 1-4 [1]: 1
* * * * * echo $(/bin/date) - $(/usr/bin/uptime) >> ~/uptime.log

 > * * * * *  - 매 분

crontab: installing new crontab

 > 매 분마다 한 줄씩 늘어나는 uptime.log 파일이 한없이 커지지 않도록, 방금 만든 crontab을 삭제

$ crontab -r 
$ crontab -l
no crontab for ubuntu

 

★ 데몬 확인하기

 : systemctl : 데몬 목록 확인

 : systemctl --type=service : 서비스 목록 확인

  

 ● systemctl - 명령기능

systemctl list-unit-files 설치된 유닛(데몬)을 보여준다.
systemctl enable <unit> 부팅 시 유닛을 활성화한다.
systemctl disable <unit> 유닛이 부팅 시 비활성화된다.
systemctl start <unit> 유닛을 즉시 활성화시킨다.
systemctl stop <unit> 유닛을 즉시 비활성화한다.
systemctl restart <unit> 유닛을 즉시 재시작한다.
systemctl status <unit> 유닛의 상태와 최근 로그들을 조회한다.

 

'DevOps BootCamp > Linux' 카테고리의 다른 글

Linux - 설치 및 네트워크 설정, user와 group 생성 및 삭제  (0) 2024.04.15
시스템 모니터링  (0) 2023.03.14
프로세스 관리  (0) 2023.03.13
관리자로서의 리눅스  (0) 2023.03.10
출력 관련 명령어  (0) 2023.03.10