From 6d636284c5961c4eb9952cda7658586c80a5a50c Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Mon, 04 Feb 2019 22:37:00 +0000
Subject: [PATCH] Backup dir for config files (saves now all config files by date).

---
 borgbutler-core/src/main/java/de/micromata/borgbutler/config/ConfigurationHandler.java |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/borgbutler-core/src/main/java/de/micromata/borgbutler/config/ConfigurationHandler.java b/borgbutler-core/src/main/java/de/micromata/borgbutler/config/ConfigurationHandler.java
index 17fe788..2e6d4fd 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/config/ConfigurationHandler.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/config/ConfigurationHandler.java
@@ -10,16 +10,18 @@
 
 import java.io.File;
 import java.io.IOException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
 
 public class ConfigurationHandler {
     private static Logger log = LoggerFactory.getLogger(ConfigurationHandler.class);
     private static ConfigurationHandler instance;
     private static final String BUTLER_HOME_DIR = ".borgbutler";
     private static final String CONFIG_FILENAME = "borgbutler-config.json";
-    private static final String CONFIG_BACKUP_FILENAME = "borgbutler-config-bak.json";
+    private static final String CONFIG_BACKUP_DIR = "backup";
     @Getter
     private File configFile;
-    private File configBackupFile;
+    private File configBackupDir;
     @Getter
     private File workingDir;
     private Configuration configuration;
@@ -75,6 +77,8 @@
         try {
             if (configFile.exists()) {
                 // Create backup-file first:
+                SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss'-'");
+                File configBackupFile = new File(configBackupDir, formatter.format(new Date()) + CONFIG_FILENAME);
                 log.info("Creating backup file first: '" + configBackupFile.getAbsolutePath() + "'");
                 FileUtils.copyFile(configFile, configBackupFile);
             }
@@ -93,7 +97,11 @@
             workingDir.mkdirs();
         }
         configFile = new File(workingDir, CONFIG_FILENAME);
-        configBackupFile = new File(workingDir, CONFIG_BACKUP_FILENAME);
+        configBackupDir = new File(workingDir, CONFIG_BACKUP_DIR);
+        if (!configBackupDir.exists()) {
+            log.info("Creating borg-butlers backup directory: " + configBackupDir.getAbsolutePath());
+            configBackupDir.mkdirs();
+        }
         read();
     }
 }

--
Gitblit v1.10.0