본문 바로가기

Computer Engineering/LINUX

LINUX#2 - Logrotate

메세지를 보내는 측과 받는쪽에서 서로 교환하기 위해서는 양쪽에서 모두 설정을 해야된다.

# cd /var/log
//여기에서 많은 로그 파일을 확인할 수 있다. 그런데 특이하게 abc 라는 파일과 같은 파일명 abc.1 로 되어있는 파일이 보인다. 이런 파일들은 백업파일이다.

# rotate log files weekly백업을 잘 해주는 것도 중요하다. 백업을 안해주고 사용하게 되면 로그 파일의 크기가 너무 커지게 된다. 그리고 로그 파일이 너무 커지면 파일을 기록하는 syslog.conf 에 부담을 주게된다. 이런 것을 방지하는 것이 logrotate 가 된다. 자신의 컴퓨터에서 # rpm -qf /usr/sbin/logrotate 로 확인할 수 있다.

rotate 즉, 순환. 백업받고 새로 만드는 것이다. 로그 파일을 메일로 받아볼 수도 있다. logrotate 를 설치하게 되면 자동으로 crontab(크론테이블)에 등록이 된다.

크론테이블에 등록이 되어있는지 확인 # ls /etc/cron.daily

예 ) 백업을 받으면 messages 의 내용을 messages.1 로 백업된다. 여기에서 1주일이 또 경과가 되면 messages.1 은 messages.2 로 백업된다. 그리고 messages 의 내용은 messages.1 로 백업된다.

그 이유는 ?
# cd /etc 에 있는 logrotate.conf 확인 시 

# rotate log files weekly
weekly               => 라고 기록이 되어있기 때문이다.


# man logrotate 에서

/var/log/messages {
           rotate 5                                       // *.6 은 삭제되는 것이다. *.5 까지 기록이 되는 것
                                                            한 달 정도의 data 가 기록이 되는 것이다.
                                                            주기가 안적혀 있으면 괄호밖의 내용에 적용시킨다. 
           weekly                                       // 일 주일에 한번 
           (sahredcripts)                              // 로테이트 될 때
                                                            한번만 한다는 것인데 여기에는 생략이 되었다.
           postrotate                                   // 백업되고 난 뒤에 (백업 될 때 마다)
               /sbin/killall -HUP syslogd        // 이 명령을 실행  
           endscript                                   //  postrotae 의 영향을 미치는 구간
       }
 
# whereis 불라불라 // 해당 command 의 위치를 알 수 있다. 확인뒤에 새로운 서비스를 시작 할 수 있게 만들 수 있다.

Logwatch 를 확인하면 
34 번 째 라인에 MailTo = root 라는 것을 확인할 수 있다. 그래서 # mail 을 확인하면 Logwatch 라는 이름으로 메일이 나와있는 걸 확인할 수 있다. 메일은 해당 메일의 번호를 누르면 된다. 예) & 다음에 1을 누르면 첫번째 메일을 읽을 수 있다. 단, 메일을 읽으면 다시 볼 수 없다 -_-;;

57번 째 라인에 Range = yesterday 라는 것을 볼 수 있다. 어제의 로그를 보낸다는 것이다.

# logwatch --print 
//현재 창에 바로 로그를 확인할 수 있다. 뒤에 프린트를 적었기 때문에 메일로 안가고 표준출력이 된 것이다.

# logwatch --service sshd --detail high --print
//  다른 곳에서 해당 서버에 접속을 했을 때에 자세한 기록들을 확인할 수 있다. 











'Computer Engineering > LINUX' 카테고리의 다른 글

LINUX#2 - Apache(2)  (0) 2011.07.28
LINUX#2 - Apache  (0) 2011.07.27
LINUX#2-Log Service  (0) 2011.07.25
LINUX#2 - DNS(Slave)  (0) 2011.07.21
[LINUX] 연습문제2  (0) 2011.06.21