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 를 이용해 삭제한다.
간단한 펄 스크립트로 항상 일정한 아파치 로그상태를 유지하자.
:맥노턴.
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 를 이용해 삭제한다.
간단한 펄 스크립트로 항상 일정한 아파치 로그상태를 유지하자.
:맥노턴.