회원가입

로그인

아이디
비밀번호
ID/PW 찾기
아직 회원이 아니신가요? 회원가입 하기

[아파치로그강좌3] 일주일이 지난 로그 자동 삭제하기

Profile
:맥노턴
cronolog 를 이용해 날짜별로 로그를 자르고...
logcompress.daily 를 이용해 매일 압축저장한 뒤...

logcompress.daily 를 약간만 수정하여 일주일이 지난 로그를 자동으로 삭제하자.

강좌2에서 만든 logcompress.daily 스크립트이다.

#!/usr/bin/perl

sub getDateYMD {
local ($timestamp) = @_;

($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime($timestamp);
$year += 1900;
$mday = sprintf("%02d",$mday);
$dateYMD = $year.$mon.$mday;

return $dateYMD;

}

$logpath = "/var/log/httpd/";

$yesterday = time() - (60 * 60 * 24);
$dateYesterday = &getDateYMD($yesterday);

if (-e "$logpath${dateYesterday}_access.log" || -e "$logpath${dateYesterday}_err
or.log") {

        $command = "cd $logpath ; tar -cvz --remove-files -f ${dateYesterday}.tg
z ${dateYesterday}_*";

        exec($command);

} else {

        print "Source Not found\n";

}



이 스크립트의 뒤에...

$beforeweek = time() - (60 * 60 * 24) * 7;
$dateWeek = &getDateYMD($beforeweek);

if (-e "$logpath${dateWeek}.tgz") {
        unlink ("$logpath$dateWeek.tgz");
}

를 덧붙인다. 일주일 전의 압축된 로그파일을 찾아내어...
unlink 를 이용해 삭제한다.

간단한 펄 스크립트로 항상 일정한 아파치 로그상태를 유지하자.

:맥노턴.

Profile
:맥노턴
레벨 30
569419/686490
81%
McNorton & Education Lab.
Director
댓글
0
댓글 쓰기
권한이 없습니다.

로그인

아이디
비밀번호
ID/PW 찾기
아직 회원이 아니신가요? 회원가입 하기