RadarURL
Skip to content
조회 수 689 추천 수 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-로그-관리

?

  1. No Image 20Oct
    by JAESOO
    2016/10/20 by JAESOO
    Views 603 

    리눅스(Linux) 디렉토리 구조

  2. No Image 26Aug
    by JAESOO
    2016/08/26 by JAESOO
    Views 709 

    ssh서버가 비밀번호를 거부했습니다. 다시 시도하십시오.

  3. No Image 26Aug
    by JAESOO
    2016/08/26 by JAESOO
    Views 717 

    [리눅스] IP 설정 변경 하기

  4. No Image 13Jul
    by JAESOO
    2016/07/13 by JAESOO
    Views 675 

    리눅스 설치후 초기설정해야 할 것들 [2]

  5. No Image 13Jul
    by JAESOO
    2016/07/13 by JAESOO
    Views 702 

    리눅스 설치후 초기설정해야 할 것들 [1]

  6. No Image 12May
    by JAESOO
    2016/05/12 by JAESOO
    Views 541 

    쉘 프로그래밍을 이용한 시스템 관리 기법

  7. No Image 12May
    by JAESOO
    2016/05/12 by JAESOO
    Views 554 

    AIX 자주 쓰이는 관리 명령 모음

  8. No Image 12May
    by JAESOO
    2016/05/12 by JAESOO
    Views 604 

    AIX 시스템상의 core, SMT(Simultaneous Multi Threading) 수 확인하기

  9. No Image 11May
    by JAESOO
    2016/05/11 by JAESOO
    Views 439 

    리눅스 호스트명 변경

  10. No Image 11May
    by JAESOO
    2016/05/11 by JAESOO
    Views 560 

    AIX 서버 기초

  11. No Image 11May
    by JAESOO
    2016/05/11 by JAESOO
    Views 547 

    AIX Admin Study 교육 자료

  12. No Image 05May
    by JAESOO
    2016/05/05 by JAESOO
    Views 489 

    성능 엔지니어링 대한 접근 방법 (Performance tuning)

  13. No Image 04May
    by JAESOO
    2016/05/04 by JAESOO
    Views 552 

    [AIX] 파일시스템 관리 (du, df)

  14. No Image 04May
    by JAESOO
    2016/05/04 by JAESOO
    Views 504 

    IBM AIX Admin (사용자 DISK 관리)

  15. No Image 04May
    by JAESOO
    2016/05/04 by JAESOO
    Views 455 

    [UNIX] 유닉스 기본명령어

  16. No Image 04May
    by JAESOO
    2016/05/04 by JAESOO
    Views 558 

    [AIX] 파일시스템 용량 늘리기

  17. No Image 04May
    by JAESOO
    2016/05/04 by JAESOO
    Views 446 

    유닉스 상에서 ls 출력물을 MB 단위로 출력해주는 옵션

  18. No Image 02May
    by JAESOO
    2016/05/02 by JAESOO
    Views 438 

    ls 명령시 날짜 전체가 보이도록 하기

  19. No Image 31Mar
    by JAESOO
    2016/03/31 by JAESOO
    Views 663 

    리눅스 logrotate 에서 로그파일 강제로 rotate 시키기

  20. No Image 19Mar
    by JAESOO
    2016/03/19 by JAESOO
    Views 733 

    리눅스 시간 맞추기 : Time Server와 Sync (rdate, date)

Board Pagination Prev 1 2 3 4 5 6 7 8 9 Next
/ 9

PageViews   Today : 63 Yesterday : 12383 Total : 21968498  /  Counter Status   Today : 62 Yesterday : 11957 Total : 1194742

Edited by JAESOO

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소