2012-03-09

Groovy : 수정된지 N일이 넘는 파일들 삭제하기

특정 디렉토리 밑에 있는 파일 중에서 일정시간이 지난 파일을 삭제하고자 할 때 필요한 스크립트이다. 파일 서버를 관리하다보면, 주기적으로 필요 없는 파일들을 삭제해야 하는데, Unix(Linux) 환경에서는 find, rm 등을 조합하여 사용할 수도 있다. 그런 것이 여의치 않고, 굳이 Groovy 를 이용하려고 할 때, 활용하면 좋겠다.

final DAY_LIMIT = 2 // N일
final TARGET_DIR = "./"

println("[Deleted Files]\n")
new File(TARGET_DIR).eachFileRecurse { file ->
    if( file.file ) {
        def lastModified = new Date(file.lastModified())
        def diffDay = new Date() - lastModified
        if(diffDay > DAY_LIMIT) {
            println(lastModified.format("YYYY-mm-dd") + " : $file")
            file.delete()
        }
    }
}

댓글 없음:

댓글 쓰기