Tips in Action‎ > ‎기타‎ > ‎

오래된 로그 지우기

전종필 / 2012.08.05

시스템을 운영하다보면 오래된 로그파일들을 지워줘야 합니다.
부지런하신 분들은 직접하시겠지만, 게으른 저는 아래와 같이 간단한 스크립트를 만들어서 crontab이나 예약된 프로그램(윈도우즈)에 매일 새벽정도 실행되도록 등록해 둡니다.
#!perl
use strict;
my @dirs = qw(
  /some/directory
  /other/dir/too
);
foreach my $dir (@dirs) {
  unlink grep {-M>30} <$dir/*.log>; # 30일 넘은 로그파일을 지운다.
}
디렉터리가 추가되거나 달라지면 @dirs 배열을 고치면 됩니다.

만일 디렉터리마다 날짜기준이 다르거나, 확장자가 다르다면 @dirs 대신 %dirs를 만들어서 조금 고쳐주면 되겠습니다.
그런 내용은 나중에... 또는 다른 분께서 ^^.

Comments