From 1da07aad0d078dbf700c1db100cb82072aa3f902 Mon Sep 17 00:00:00 2001 From: reusedname <155286845+reusedname@users.noreply.github.com> Date: Sat, 20 Jan 2024 16:19:42 +0500 Subject: [PATCH] Only delete old backups of current version --- common/src/main/java/ctbrec/Config.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/common/src/main/java/ctbrec/Config.java b/common/src/main/java/ctbrec/Config.java index 4e637ad9..f2b18823 100644 --- a/common/src/main/java/ctbrec/Config.java +++ b/common/src/main/java/ctbrec/Config.java @@ -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];