Ant / Groovy:如何删除超过给定日期的文件,但最多保留3个

时间:2016-08-12 12:28:40

标签: groovy ant

使用如下所示的代码在日志目录中随时间推移文件。 MAX_LOG_FILE_AGE可以计算或设置为任何所需的值。这样可以正确删除超出预期的文件。

问题来自于我收到的要求发生变化而只保留了一定数量的最新文件,在我的情况下是三(3)。怎么可能实现这个目标?

long deleteDate = System.currentTimeMillis() - MAX_LOG_FILE_AGE
def ant = new AntBuilder()
ant.delete() {
fileset (dir: "${someParentDir}/logs/", includes: '**/*') {
    date(millis: "${deleteDate}", when: 'before')
    }
}

1 个答案:

答案 0 :(得分:1)

这对Ant来说很难做到。但是在直接的Groovy中,它很易处理:

%p%