리눅스 시스템에서는 데몬(서비스)의 실행과 로그 관리를 효율적으로 하기 위해 systemd 기반의 systemctl과 journalctl을 사용합니다. 오늘은 시스템 서비스를 실행한 뒤, 해당 서비스의 로그를 실시간 또는 기간별로 추적하고 파일로 저장하는 방법까지 전체 과정을 정리해보겠습니다.
✅ 1. 서비스 실행
서비스를 수동으로 실행하려면 다음 명령어를 사용합니다.
sudo systemctl start myapp.service
서비스가 정상적으로 실행되는지 확인하려면 아래와 같이 상태를 조회합니다.
sudo systemctl status myapp.service
Active: active (running)이 보인다면 서비스가 정상적으로 구동 중이라는 의미입니다.
✅ 2. 실시간 로그 확인 (tail처럼 보기)
서비스가 실행되고 있는 동안 실시간 로그를 보고 싶을 때는 다음 명령어를 사용합니다.
journalctl -u myapp.service -f
옵션 설명:
- -u: 서비스 유닛 단위로 로그 필터링
- -f: tail -f처럼 실시간 로그 스트리밍
✅ 3. 특정 시간 이후의 로그만 보기
예를 들어 15분 전부터 현재까지 로그를 보고 싶다면 다음과 같이 명령어를 입력합니다.
journalctl -u myapp.service --since "15 minutes ago"
또는 정확한 시간대별로 로그를 조회할 수도 있습니다:
journalctl -u myapp.service --since "2025-05-18 14:00" --until "2025-05-18 15:00"
이런 방식은 장애 발생 시간대를 기준으로 로그를 추적할 때 매우 유용합니다.
✅ 4. 로그를 파일로 저장
로그를 분석하거나 보관을 위해 파일로 저장하고 싶다면 > 리디렉션을 사용하면 됩니다.
journalctl -u myapp.service --since "15 minutes ago" > myapp.log
생성된 myapp.log 파일은 일반 텍스트이므로 grep, less, vim 등으로 자유롭게 분석이 가능합니다.
📝 정리
목적명령어
서비스 실행 | sudo systemctl start myapp.service |
서비스 상태 확인 | sudo systemctl status myapp.service |
실시간 로그 확인 | journalctl -u myapp.service -f |
15분 전부터 로그 확인 | journalctl -u myapp.service --since "15 minutes ago" |
로그를 파일로 저장 | journalctl -u myapp.service > output.log |
'서버인프라 > 리눅스' 카테고리의 다른 글
📱 휴대폰의 지문, IMEI를 해킹당하면 벌어지는 일들 (2) | 2025.05.21 |
---|---|
🔌 Socket.IO vs WebSocket — 무엇이 다를까? (2) | 2025.05.20 |
🛡️ 서버를 노리는 eBPF 위협, Falco로 실시간 감시하라 (1) | 2025.05.08 |
AWS 인스턴스 메인 디스크 용량을 변경해 보자 (39) | 2024.08.01 |
LVM추가디스크 붙이기 (39) | 2024.05.09 |
댓글