RadarURL

유닉스/리눅스
2015.01.13 19:01

데비안 리눅스 로그 관리

조회 수 424 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

소개


여러 프로그램을 설치하다보면 log가 계속 쌓여서 높은 용량을 차지 할 때가 있다.

이를 방지하기 위해 리눅스 자체에서 logrotate 라는 기능을 지원하고 있다.

logrotate를 사용하면 하나의 로그를 사용해서 축적하다가, 일정 주기가 되면 축척된 로그를 다른 이름으로 변경하여 저장하고, 빈 공백에서 다시 로그를 이어 기록 하도록 만들 수 있다.


예를들면, web.log라는 파일이 계속 축척되다가, web.log.1 이라는 파일로 백업되고, 계속해서 web.log.2 web.log.3 등으로 백업된다.

따라서 항상 최신 로그는 web.log에 기록되면 과거의 기록은 점점 숫자가 높아지면서 백업된다.

web.log

web.log.1

web.log.2

web.log.3

...

처럼 여러개의 백업도 가능하다.



사용법



간단한 예제를 통해 logrotate 사용법을 설명하겠다.


우선 10초마다 현재 시간을 log에 기록하는 아주 간단한 쉘을 만든 후에 시간이 기록된 log를 logrotate를 사용하여 관리해 보도록 하겠다.


1. date.sh 만들기


vi /home/bin/date.sh 


date.sh 파일에 10초마다 logrotate.log에 기록되도록 log를 만든다.

#!/bin/bash


for((;;))

do

    sleep 10

    date >> /home/bin/logrotate.log

done 




2. date.sh 권한 변경 및 실행


chmod 750 /home/bin/date.sh

/home/bin/date.sh




3. logrotate 만들기


logrotate는 /etc/logrotate.d 디렉토리 안에 설정파일을 이용하여 rotate를 실행한다.

여기서 각 로그 마다 파일을 만들어주면 되는데, 여기서는 logtest라고 만들었다.


cd /etc/logrotate.d

vi logtest 



 /home/bin/logrotate.log{ 

     daily   

         rotate 1  

         compress 

         delaycompress

         copytruncate 

         notifempty    

         missingok    

         create 640 root root 

 }


파일을 저장한다.




4. logrotate 테스트


3번 과정으로 시간이 기록되는 logrotate.log의 logrotate의 설정은 끝났다.

/home/bin디렉토리에 생기는 logrotate.log가 logrotate.log.1으로 백업되고 계속해서 logrotate.log가 기록되는지 확인하기 위해 아래처럼 logrotate에 강제로 명령어를 사용하여 rotate를 시키도록 해본다.



logrotate -f /etc/logrotate.d/logtest 


/home/bin에 기록되던 logrotate.log가 logrotate.log.1으로 백업되었고, 계속해서 logrotate.log가 생겨 현재 시간을 기록하는 log를 볼 수 있을 것이다.



간단한 logrotate 설정 설명



 /home/bin/logrotate.log{     # log를 rotate할 log 경로를 적어준다.

     daily    # 매일 log를 rotate 한다.

         rotate 1    # logrotate.log를 백업하는 개수를 정한다. 1값은 오로지 logrotate.log.1만 생긴다. 4로 하면 logrotate.log.4까지 생긴다

         compress    # log를 압축한다.

         delaycompress    # log 압축시 백업한 로그를 재 백업할때 압축한다.

         copytruncate    # log.1처럼 log를 나누도록 한다.

         notifempty    # 빈 log인 경우 rotate를 하지 않도록 한다.

         missingok    # log가 없는 경우 에러 없이 다음 rotate로 넘어간다.

         create 640 root root    # log 만들시 권한을 설정해준다.

 }



마침



logrotate를 사용하면 일정 시간 뒤에는 log를 덮어쓰므로 누적되는 용량을 예방 할 수 있다.

logrotate에 대해 조금 더 알고 싶다면 아래 사이트를 참조하도록 한다.

http://linuxers.org/howto/howto-use-logrotate-manage-log-files


출처 : http://sacstory.tistory.com/entry/Debian-로그-관리

?

공부 게시판

공부에 도움되는 글을 올려주세요.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 [공지] 공부 게시판 입니다. 처누 2003.08.18 928231
13 유닉스/리눅스 쉘 프로그래밍을 이용한 시스템 관리 기법 file JaeSoo 2016.05.12 680
12 유닉스/리눅스 AIX 자주 쓰이는 관리 명령 모음 JaeSoo 2016.05.12 615
11 유닉스/리눅스 [AIX] 파일시스템 관리 (du, df) JaeSoo 2016.05.04 770
10 유닉스/리눅스 IBM AIX Admin (사용자 DISK 관리) JaeSoo 2016.05.04 687
9 법/정책 경기도 공동주택 관리 감사 조례안 file JaeSoo 2015.03.26 413
» 유닉스/리눅스 데비안 리눅스 로그 관리 JaeSoo 2015.01.13 424
7 유닉스/리눅스 리눅스 logrotate를 활용한 로그 관리 (compress, lotate) JaeSoo 2015.01.13 565
6 데이터베이스 MySQL 로그 파일 관리 2 - 로그 파일 남기기 JaeSoo 2014.11.17 1238
5 데이터베이스 MySQL 로그 파일 관리 1 - 설정 JaeSoo 2014.11.17 1156
4 유닉스/리눅스 Linux에서 Cron을 이용한 스케쥴러 관리 JaeSoo 2014.10.20 1518
3 하드웨어 비용 부담은 내리고, 관리는 체계적으로. 가비아 코로케이션(Colocation) file JaeSoo 2013.12.06 2383
2 동식물 고양이 클리닉 - 4개월에서 9개월령 고양이 관리 file JaeSoo 2003.10.11 13133
1 동식물 고양이 클리닉 - 2개월에서 4개월령 고양이 관리 file JaeSoo 2003.10.11 13429
Board Pagination Prev 1 Next
/ 1


즐겨찾기 (가족)

JAESOO's HOMEPAGE


YOUNGAE's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

숭실대 컴퓨터 통신연구실 (서창진)

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

아스가르드 좋은사람/나쁜사람

JServer.kr

제이서버 메타블로그

재수 티스토리


즐겨찾기 (강의, 커뮤니티)

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너