Groovy : Rotate Backup file or Log file
Windows 에서 백업파일을 Rotate 하여 최근 N일 동안의 백업파일을 유지하도록 하였다. final DAY_LIMIT = 14 // N일 final TARGET_DIR = "M:/" def today = new Date() def command = "cmd /c m: & cd \\ & mkdir ${today.format('YYYYMMdd')} & move backup\\*.tib ${today.format('YYYYMMdd')}" command.execute().waitFor() new File(TARGET_DIR).eachFile { path -> if (path.directory && path.name =~ /201[2-9]\d{4}/) { def lastModified = new Date(path.lastModified()) def diffDay = new Date() - lastModified if(diffDay > DAY_LIMIT) { // println(lastModified.format("YYYY-mm-dd") + " : ${path}") println("cmd /c rd /q /s ${path}") "cmd /c rd /q /s ${path}".execute().waitFor() } } }