Verwenden Sie den unten abgebildeten Code, um Dateien im Laufe der Zeit in einem Protokollverzeichnis auszublenden. MAX_LOG_FILE_AGE
kann berechnet oder auf einen beliebigen Wert eingestellt werden. Dies löscht Dateien, die älter als gewünscht sind, korrekt.Ant/Groovy: So löschen Sie Dateien über das angegebene Datum hinaus, aber behalten Sie maximal 3
Die Frage ergibt sich aus einer Änderung der Anforderungen, die ich erhielt, um nur eine bestimmte Anzahl der neuesten Dateien zu behalten, in meinem Fall drei (3). Wie könnte dies erreicht werden?
long deleteDate = System.currentTimeMillis() - MAX_LOG_FILE_AGE
def ant = new AntBuilder()
ant.delete() {
fileset (dir: "${someParentDir}/logs/", includes: '**/*') {
date(millis: "${deleteDate}", when: 'before')
}
}
Die andere Antwort kann leicht angepasst werden, um stattdessen einen groovy basierten Selektor zu verwenden. –
Die Verwendung von 'ant' wird nicht Teil der Antwort (jetzt) sein, also wenn diese Antwort wieder geöffnet wird, kann sie angezeigt werden. – JoeG