log파일..
작성자 정보
- 강바람 작성
- 작성일
컨텐츠 정보
- 1,663 조회
- 0 추천
- 목록
본문
일단 로그를 안남기는건 권장하지는 않습니다.
나중에 문제가 생겼을때 필요하니까요...
참고로 로그는 logrotate가 관리합니다.리눅스를 깔면 디폴트로 깔리는것 같은데..
잘은모르겠구...^^;
//etc/logrotate.conf엔가 보면 설정할수있습니다.
로그파일이 너무 크면 압축해서 저장하게하고,크기도 정할수있으니까요..
참고로 다른데서 퍼온 메일로그에 대한내용입니다
:원문주소 :http://kldp.org/KoreanDoc/Log_Admin-KLDP
참고하세요,,
cat /etc/logrotate.conf
# see "man logrotate" for details
# rotate log files weekly
weekly
# 기본적으로 일주일마다 로그파일을 순환시킴
# keep 4 weeks worth of backlogs
rotate 4
# 이전 로그파일을 4주동안 간직.
# 위에서 순환간격을 1주일로 했으므로.
# send errors to root
errors root
# 에러가 생길경우 root 에게 메일로.
# create new (empty) log files after rotating old ones
create
# 예전 로그파일을 순환시킨후 새로운 로그파일 생성
# uncomment this if you want your log files compressed
#compress
# gzip 을 이용 압축한다.
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d
# /etc/logrotate.d 파일 또는 디렉토리 안에 있는 파일을 읽어들인다.
# 참고로 필자의 서버에는 다음과 같은 기본설정 파일이 있다.
# ls /etc/logrotate.d
# apache cron ftpd named samba squid syslog
# 여기서 가장 중요한 syslog는 messages, secure, maillog, spooler,
# bootlog 로 구성
# no packages own lastlog or wtmp -- we'll rotate them here
/var/log/wtmp {
monthly
create 0664 root utmp
rotate 1
}
# 매월마다 순환시킴
# create 는 순환후 즉시 (postrotate 스크립트를 실행시키기전에)
# 로그 파일을 생성한다. 뒤에서 설명할 것이지만 postrotate는
# 로그파일을 순환한후 진행할 작업을 명시한다.
# 0664 는 생성하는 파일의 허가권, root 는 소유자, utmp 는 그룹
# rotate 1 은 위에서 설명했다. 그런데 개별적으로 설정하면
# 초기에 설정한 weekly 는 무시되 개별 설정을 따른다
# 그러므로 여기에서는 이전의 로그파일이 1개만 남을것이다.
# (원본 제외)
# 참고로 기본적으로 syslog에서는 600으로 허가권을 설정한다.
# 다른 누구도 로그파일에 접근하면 안되기 때문이다.
/var/log/lastlog {
monthly
rotate 1
}
# system-specific logs may be configured here
이제 몇가지 주요한 옵션에 대해서 살펴보자.
ㅇ 순환할 기간 설정 : daily, weekly, monthly 등
여기에 size 를 이용해 크기까지 설정할 수 있다.
접속이 많아서 로그파일이 엄청나게 늘어나는 경우에는
size(기본 kilobytes)를 이용 제어해야 할 것이다.
size 100k(= size 100)
ㅇ 압축설정 : compress
gzip으로 이전 로그파일을 압축한다.
공간을 절약할 수 있다.
이 옵션을 없애려면 주석을 달든지 아니면
nocompress(기본값) 사용
ㅇ 메일설정 : error, mail
error taejun -> 에러를 taejun 이라는 사용자에게 보냄
mail taejun -> 로그파일을 순환시키고 나중에 삭제해야할때
삭제하지 않고 메일로 보내는 것이다.
ㅇ 로그파일 생성
create mode owner group (기본값)
위에서 사용예는 설명했다. create 를 지정하면 순환후 로그
파일을 생성한다. 반대는 nocreate
ㅇ 순환간격 : rotate count
이전 로그파일이 삭제되거나 메일로 보내기전에 순환을 할
횟수 지정. 여기서 0으로 지정하면 예전 로그파일은
무조건 삭제된다.
ㅇ 지정한 로그파일이 없을 경우 : missingok, nomissingok
로그파일이 없으면 기본은 에러를 낸다(nomissingok, 기본값).
missingok 를 지정하면 없더라도 에러를 내지는 않는다.
ㅇ 로그파일의 내용이 없을 경우(비어있을경우)
기본은 ifempty로 내용이 비었어도 순환을 한다.
순환을 하지 않도록 하려면 notifempty 를 지정하면 된다.
ㅇ 순환후 작업 : postrotate/endscript
순환하기전 작업을 하려면 prerotate/endscript
를 사용한다. 일반적으로는 순환후 작업을 할 것이다.
예를 들어 메일관련 로그를 새로 생성했으면 syslogd를
다시 가동시켜야 할 것이다. 이런것들을 지정한다.
ㅇ 파일 또는 디렉토리 포함 : include
다른 파일이나 디렉토리안의 파일을 포함할 경우
자 이에 위의 내용을 토대로 메일의 로그를 조정해보자.
여기서는 /etc/logrotate.d/syslog 에서 메일서버의
로그만 따로 처리를 해보겠다.
# vi /etc/logrotate.d/maillog
weekly
size 500k
rotate 4
compress
errors admin
mail admin
nomissingok
create 0644 root root
/var/log/maillog {
postrotate
/usr/bin/killall -HUP syslogd
endscript
}
/var/log/messages {
postrotate
/usr/bin/killall -HUP syslogd
endscript
}
위의 예제는 그냥 참고로 만든 것이므로 따라할 필요는 없다.
매주마다 한번식 순환시키고 크기가 500k가 넘지 않도록 하며
순환한 파일은 압축을 한다. 에러를 admin 이라는 사용자에게
보내고 순환후 삭제할 파일을 메일로 admin 에게 보낸다.
만약 로그파일이 없으면 에러를 내며 순환후 파일을 생성시키고
이 파일의 모드는 0644 로 소유자와 그룹은 root 로 한다.
관련자료
-
이전
-
다음