리눅스를 이용하여 서버를 실행 시킬 경우에 시간이 지남에 따라 로그가 계속해서 쌓이게 되고, 계속해서 쌓이게 되면 용량을 많이 차지하게 되어 문제가 발생합니다.
따라서 서버를 실행시킬 경우에 로그 관리를 해주어야 하는데 이 때 사용하는 Logrotate에 대해 알아보겠습니다.
Logrotate
Logrotate는 로그 파일을 일정 주기에 따라 압축하여 로그 파일을 백업해주는 역할을 하여, 수많은 로그를 분산 시켜주는 역할을 합니다. 아래는 Logrotate 사용 예시입니다.
# sudo vi /etc/logrotate.d 로 이동하여 rsyslog에 작성
$ sudo vi /etc/logrotate.d/rsyslog
/var/lib/docker/containers/*/*.log {
rotate {num}
daily
compress
size={size}
missingok
delaycompress
copytruncate
}
1. rotate {num} : 로그 파일을 최대 몇개까지 저장할 것인지를 지정해줍니다.
2. daily : 매일매일 로그를 rotate 시킵니다.
3. compress : 이전 로그는 압축하여 저장합니다.
4. size={size} : 파일의 크기가 size를 넘어갈 경우에 rotate 해주는 것을 의미합니다.
5. missingok : 파일 내 로그가 없어도 rotate 해줍니다.
6. delaycompress : 백업된 로그 중 재백업이 필요한 로그는 다시 압축하여 저장합니다.
7. copytruncate : 복사본을 만들고 크기를 0으로 지정해줍니다.
로그를 관리하는 방법에는 Logrotate를 통하여 로그를 순환시켜주는 방법외에도 로그파일의 크기가 커질 경우 해당 directory로 이동하여 직접 로그를 삭제하여 주는 방법도 있습니다.
# 해당 디렉토리로 이동한 후 다음 명령어 입력하면 됨.
$ cat /dev/null > example.txt
# 위의 명령어가 동작하지 않을 경우 아래와 같이 입력
$ echo "" > example.txt
'BackEnd > Linux' 카테고리의 다른 글
[Linux] 프로세스(Process) 명령어 (0) | 2022.02.26 |
---|---|
[Linux] Ubuntu Postman 설치 (0) | 2022.02.20 |
[Linux] Linux 디렉토리 구조 (0) | 2022.02.09 |
[Linux] Ubuntu에 MySQL 설치 (0) | 2022.01.07 |
댓글