안녕하세요.
이번에는 Linux 로그 수집 기간 변경하는 방법에 대해서 포스팅 하겠습니다.
로그 수집 기간을 조정하여 장애 발생 시 원인 분석과 문제 해결에 활용할 수 있으며, 보안 강화를 위해 원하는 기간으로 설정할 수 있습니다.
제가 테스트한 내용을 토대로 포스팅을 할 것이며, 사용 환경이 다를경우 명령어 및 적용 파일 등에서 다를 수 있습니다. 만약에 그런 부분에서 문제가 발생할 경우 댓글로 문의주시면 답변으로 최대한 도움드릴 수 있도록 하겠습니다.
제가 테스트 서버로 사용한 서버의 OS는 다음과 같습니다.
● OS : Rocky Linux 8.8
↓ ↓ ↓ Linux 로그 수집 기간 변경 작업 시작↓ ↓ ↓
1. 작업 중 문제가 생길 수 있으니 작업 전 백업을 권장드립니다.(권장)
# cp /etc/logrotate.d/syslog /etc/logrotate.d/250929_syslog_bk
→ 다음과 같이 명령어를 입력하면 "/etc" 하위 폴더의 "logrotate.d"에서 "syslog" 파일을 "250929_syslog_bk" 이름을 가진 동일한 파일을 생성하게 됩니다.
2. 백업을 완료하셨으면, 이제 본격적으로 로그 수집 기간 변경 작업을 하겠습니다.
※ "/etc/logrotate.d"에 "syslog" 대신 "rsyslog" 가 있을 경우 "rsyslog"를 수정해주시고 아래 명령어에 "syslog" 대신 "rsyslog"를 넣어주시면 됩니다.
2-1. logrotate 설정 변경 작업
# vi /etc/logrotate.d/syslog
→ vi로 "syslog" 파일을 열어줍니다~
# 아래 내용 추가 후 저장 후 나가기
/var/log/cron
/var/log/messages
/var/log/secure
/var/log/spooler
# "cron", "messages", "secure", "spooler" 4개의 로그 파일에 동일한 정책을 적용
{
weekly # 로그를 1주일 간격으로 로테이션 합니다.
rotate 26 # 보관할 로그 파일의 개수를 지정합니다.
dateext # 보관되는 로그 파일 이름에 날짜를 확장자 형태로 붙입니다.
missingok # 지정된 로그 파일이 없어도 에러를 내지 않고 넘어갑니다.
sharedscripts # 스크립트가 모든 로그에 대해 한 번만 실행되게 합니다.
postrotate
/usr/bin/systemctl kill -s HUP syslog.service >/dev/null 2>&1 || true
# 로그 로테이션 후 실행할 명령어 블록입니다.
# syslog.service에게 재시작 신호을 보내고 로그 파일이 새로 생겼으면 기록을 시작하라고 알려주는 역할입니다.
# >/dev/null 2>&1 → 실행 결과 메시지를 다 버립니다.
# || true → 만약에 실패하더라도 전체 작업이 중단되지 않도록 합니다.
endscript
}
3. 저장 후 문법확인!!
# logrotate -d /etc/logrotate.d/syslog
→ 문법/동작 확인, 실제 실행되지는 않습니다.
# logrotate -f /etc/logrotate.d/syslog
→ 실제 실행, 강제로 즉시 로그 로테이션을 실행하여 테스트해 볼 수 있습니다.
여기까지 Linux 로그 수집 기간 변경하는 방법에 대해서 작성하였으며, 해당 작업이 필요할 경우 참고해주시면 감사하겠습니다.
감사합니다.
'Technical > System' 카테고리의 다른 글
tacacs 서버 설치 방법(Rocky Linux9.5) (2) | 2025.08.12 |
---|---|
RedHat/Rocky Linux 8 iptables 정책 초기화될 경우 (4) | 2025.07.16 |
IBM Storwize V5000 디스크 추가 및 기존 볼륨 확장하는 방법 (0) | 2025.05.07 |
Windows 서버에서 SNMPv3 설정하기 (Net-SNMP) (1) | 2025.04.23 |
Linux에서 SNMPv3 설정 하기 (0) | 2025.04.01 |
댓글