본문 바로가기

학습/시스템

journalctl, systemctl, /var/log/messages 차

journalctl

journalctl은 시스템 로그를 조회하는 데 사용됩니다. systemd가 생성한 로그를 확인할 수 있으며, 이를 통해 시스템 및 서비스의 상태를 모니터링하고 문제를 진단할 수 있습니다. 주요 기능은 다음과 같습니다:

 

시스템 전체 로그 조회

특정 서비스의 로그 조회

특정 시간대의 로그 조회

실시간 로그 모니터링

로그 필터링

 

예시:

sudo journalctl             # 시스템 전체 로그 조회

sudo journalctl -u httpd    # 특정 서비스 (httpd)의 로그 조회

sudo journalctl -f          # 실시간 로그 모니터링

 

systemctl

systemctl systemd 시스템 및 서비스 관리자와 상호 작용하기 위한 명령어입니다. 이를 통해 시스템 서비스의 시작, 중지, 다시 시작, 상태 확인 등의 작업을 수행할 수 있습니다. 주요 기능은 다음과 같습니다:

 

서비스 시작/중지/재시작

서비스 상태 확인

부팅 시 서비스 자동 시작 설정/해제

시스템 상태 확인

시스템 재부팅/종료

 

예시:

sudo systemctl start httpd     # httpd 서비스 시작

sudo systemctl stop httpd      # httpd 서비스 중지

sudo systemctl restart httpd   # httpd 서비스 재시작

sudo systemctl status httpd    # httpd 서비스 상태 확인

sudo systemctl enable httpd    # 부팅 시 httpd 서비스 자동 시작 설정

sudo systemctl disable httpd   # 부팅 시 httpd 서비스 자동 시작 해제

sudo systemctl reboot          # 시스템 재부팅

sudo systemctl poweroff        # 시스템 종료

 

 

차이점 요약

journalctl: 로그를 확인하고 분석하는 데 사용됩니다. 시스템과 서비스의 활동 기록을 조회할 수 있습니다.

systemctl: 시스템과 서비스의 제어 및 관리에 사용됩니다. 서비스의 시작, 중지, 재시작, 상태 확인 등을 수행할 수 있습니다.

systemctl은 서비스와 시스템의 현재 상태를 조작하고 관리하는 데, journalctl은 그 상태에 대한 기록을 확인하고 분석하는 데 사용된다고 이해하면 됩니다.

 

 

/var/log/messagesjournalctl 차이

/var/log/messages rsyslog syslog 데몬에 의해 로그를 남기므로, 주로 시스템 및 커널 로그를 확인할 때 사용됩니다. 반면, journalctl systemd에 의해 관리되며, 시스템 전체의 로그를 통합하여 제공하므로, 운영 체제와 그 위에서 동작하는 서비스 및 애플리케이션의 로그를 확인할 때 사용하면 됩니다.