Recent Posts
Recent Comments
05-14 06:19
관리 메뉴

Mandoo’s WLAN story

[Linux/Openwrt]Openwrt에서 logrotate 사용하기 본문

Linux

[Linux/Openwrt]Openwrt에서 logrotate 사용하기

mandoo12 2022. 9. 14. 10:07

openwrt에서 logrotate를 사용해보자.

openwrt는 ubuntu처럼 흔히 사용되는 리눅스들과 다르게 기초 세팅을 해주어야 할게 많아서 순차적으로 세세한 과정을 적어보려고 한다.

 

1. logrotate를 사용하려면  /var/lib/ 폴더에 logrotate.status 파일이 필요하다. 이 파일은 logrotate가 실행된 기록이 남는 파일이다.

근데 openwrt에 logrotate 명령어는 활성화 되어있지만 /var/lib/logrotate.status 파일은 존재하지 않기 때문에 먼저 빈 logrotate.status 파일을 생성해준다.

mkdir /var/lib
touch /var/lib/logrotate.status

* ls -al 명령어를 이용해 파일 구조를 보면 알겠지만 var 폴더는 tmp 파일을 가르키고 있는 폴더이다. 때문에 재부팅 할때마다 초기화 되기 때문에 이 과정은 재부팅 시 매번 해주어야하는 불편함이 있다.

* logrotate 명령어의 -s 옵션을 이용해서 logrotate.status 파일 경로를 바꿔주려고 시도를 해봤는데 실패했다ㅜㅜ

* openwrt 오픈 소스를 받아서 작업을 하는데, 소스 어느 곳에도 logrotate.status를 설정 해주는 부분이 없다.

* 우분투와 같은 일반 리눅스에서는 logrotate.status 설정 해주는 곳이 /etc/cron.daily/logrotate에 있다고 한다.

 

2. /etc/logrotate.conf 파일 설정

이 파일은 logrotate의 설정값을 넣는 파일이다. logrotate의 옵션들은 구글링 해보면 설명과 종류가 많이 나오기 때문에 한번 검색해보고 해보자!

/etc/logrotate.conf 파일을 편집모드로 열고 적당한 위치에 아래 사진과 같이 입력한다.

/log/test.log{
        daily
        rotate 5
        create 755 mandoo mandoo
        dateext
        dateyesterday
        olddir /log/test_log
}

/log/test.log : logrotate를 적용할 log 파일 위치와 이름

daily - 로그를 생성할 기준 (하루)
rotate 5 - 생성한 로그파일 갯수 제한 (5개 초과 시 가장 처음에 만들어진 로그가 삭제됨)
create 755 mandoo mandoo - 로그 파일 생성 및 권한 설정
dateext - 백업하는 로그파일 이름 + 현재 날짜 (ex. test.log-20220905)
dateyesterday - 로그파일 이름에 날짜를 붙일 때 하루 전 날짜로 붙임
olddir /log/test_log- 로그파일을 생성할 폴더 지정

 

3. logroate를 실행시키는 여러가지 옵션이 있지만 제대로 실행 되는지 테스트를 위해 -f 옵션으로 강제로 실행시키고, /var/lib/logrotate.status 파일을 확인해보면 logrotate가 실행된 기록을 볼 수 있다.

logrotate -f /etc/logrotate.conf