Only delete old backups of current version

This commit is contained in:
reusedname 2024-01-20 16:19:42 +05:00
parent 0d5d1ba6cc
commit 1da07aad0d
1 changed files with 2 additions and 1 deletions

View File

@ -20,6 +20,7 @@ import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.time.format.FormatStyle;
import java.util.*;
import java.util.regex.Pattern;
import static java.nio.charset.StandardCharsets.UTF_8;
import static java.nio.file.StandardOpenOption.*;
@ -86,7 +87,7 @@ public class Config {
private void deleteOldBackups(File currentConfigDir) {
File parent = currentConfigDir.getParentFile();
File[] backupDirectories = parent.listFiles(file -> file.isDirectory() && file.getName().matches(".*?_backup_\\d{4}-\\d{2}-\\d{2}_\\d{2}-\\d{2}-\\d{2}_\\d{3}"));
File[] backupDirectories = parent.listFiles(file -> file.isDirectory() && file.getName().matches(Pattern.quote(currentConfigDir.getName()) + "_backup_\\d{4}-\\d{2}-\\d{2}_\\d{2}-\\d{2}-\\d{2}_\\d{3}"));
Arrays.sort(backupDirectories, Comparator.comparing(File::getName));
for (int i = 0; i < backupDirectories.length - 5; i++) {
File dirToDelete = backupDirectories[i];