diff --git a/src/ARKServerManager/App.xaml.cs b/src/ARKServerManager/App.xaml.cs
index c3f5ba97..929ce8fa 100644
--- a/src/ARKServerManager/App.xaml.cs
+++ b/src/ARKServerManager/App.xaml.cs
@@ -569,6 +569,9 @@ namespace ServerManagerTool
SettingsUtils.BackupUserConfigSettings(Config.Default, "userconfig.json", installFolder, backupFolder);
SettingsUtils.BackupUserConfigSettings(CommonConfig.Default, "commonconfig.json", installFolder, backupFolder);
+
+ SettingsUtils.DeleteBackupUserConfigFiles("userconfig.json", backupFolder, ServerApp.BACKUP_DELETEINTERVAL);
+ SettingsUtils.DeleteBackupUserConfigFiles("commonconfig.json", backupFolder, ServerApp.BACKUP_DELETEINTERVAL);
}
private void ShutDownApplication()
diff --git a/src/ARKServerManager/Globalization/en-US/en-US.xaml b/src/ARKServerManager/Globalization/en-US/en-US.xaml
index 70b26f4e..71c51300 100644
--- a/src/ARKServerManager/Globalization/en-US/en-US.xaml
+++ b/src/ARKServerManager/Globalization/en-US/en-US.xaml
@@ -567,6 +567,7 @@
Backup Interval:
How often to perform the server backup, in hours and minutes (hh:mm). Set to 00:00 to disable.
Delete Old Backup Files
+ If enabled, when the auto-backup runs the old backup files will be deleted.
Older Than:
How old the backup file must be to be deleted in days.
WorldSave Message:
diff --git a/src/ARKServerManager/Lib/ServerApp.cs b/src/ARKServerManager/Lib/ServerApp.cs
index 2a66d45b..22786ca9 100644
--- a/src/ARKServerManager/Lib/ServerApp.cs
+++ b/src/ARKServerManager/Lib/ServerApp.cs
@@ -35,8 +35,7 @@ namespace ServerManagerTool.Lib
public const int MUTEX_TIMEOUT = 5; // 5 minutes
public const int MUTEX_ATTEMPTDELAY = 5000; // 5 seconds
- private const int WRITELOG_ERRORRETRYDELAY = 2000; // 2 seconds
- private const int BACKUP_DELETEINTERVAL = 7; // 7 days
+ public const int BACKUP_DELETEINTERVAL = 7; // 7 days
private const int STEAM_MAXRETRIES = 10;
private const int RCON_MAXRETRIES = 3;
@@ -100,7 +99,7 @@ namespace ServerManagerTool.Lib
public bool BackupWorldFile = Config.Default.BackupWorldFile;
public bool CheckForOnlinePlayers = Config.Default.ServerShutdown_CheckForOnlinePlayers;
public bool SendMessages = Config.Default.ServerShutdown_SendShutdownMessages;
- public bool DeleteOldServerBackupFiles = false;
+ public bool DeleteOldBackupFiles = Config.Default.AutoBackup_DeleteOldFiles;
public int ExitCode = EXITCODE_NORMALEXIT;
public bool OutputLogs = false;
public bool SendAlerts = false;
@@ -1786,7 +1785,7 @@ namespace ServerManagerTool.Lib
ExitCode = EXITCODE_NORMALEXIT;
}
- public void CheckServerWorldFileExists(ServerProfileSnapshot profile = null)
+ public void CheckServerWorldFileExists(ServerProfileSnapshot profile)
{
// do nothing if profile is null or SotF
if (profile == null || profile.SotFEnabled)
@@ -1826,7 +1825,7 @@ namespace ServerManagerTool.Lib
}
}
- public void CreateProfileBackupArchiveFile(ServerProfileSnapshot profile = null)
+ public void CreateProfileBackupArchiveFile(ServerProfileSnapshot profile)
{
// do nothing if profile is null
if (profile == null)
@@ -1897,52 +1896,58 @@ namespace ServerManagerTool.Lib
}
// delete the old backup files
- try
+ if (DeleteOldBackupFiles)
{
- LogProfileMessage("Delete old profile backup files started...");
-
- var backupFolder = GetProfileBackupFolder(_profile);
- var backupFileFilter = $"*{Config.Default.BackupExtension}";
- var backupDateFilter = DateTime.Now.AddDays(-BACKUP_DELETEINTERVAL);
-
- var backupFiles = new DirectoryInfo(backupFolder).GetFiles(backupFileFilter).Where(f => f.LastWriteTime < backupDateFilter);
- foreach (var backupFile in backupFiles)
+ try
{
- try
+ var deleteInterval = Config.Default.AutoBackup_EnableBackup ? Config.Default.AutoBackup_DeleteInterval : BACKUP_DELETEINTERVAL;
+
+ LogProfileMessage("Delete old profile backup files started...");
+
+ var backupFolder = GetProfileBackupFolder(_profile);
+ var backupFileFilter = $"*{Config.Default.BackupExtension}";
+ var backupDateFilter = DateTime.Now.AddDays(-deleteInterval);
+
+ var backupFiles = new DirectoryInfo(backupFolder).GetFiles(backupFileFilter).Where(f => f.LastWriteTime < backupDateFilter);
+ foreach (var backupFile in backupFiles)
{
- LogProfileMessage($"{backupFile.Name} was deleted, last updated {backupFile.CreationTime}.");
- backupFile.Delete();
- }
- catch
- {
- // if unable to delete, do not bother
+ try
+ {
+ LogProfileMessage($"{backupFile.Name} was deleted, last updated {backupFile.CreationTime}.");
+ backupFile.Delete();
+ }
+ catch
+ {
+ // if unable to delete, do not bother
+ }
}
}
- }
- catch (Exception ex)
- {
- LogProfileError($"Error deleting old profile backup files.\r\n{ex.Message}", false);
- }
- finally
- {
- LogProfileMessage("Delete old profile backup files finished.");
- }
-
- // cleanup any backup folders from old backup process
- try
- {
- var backupFolder = GetProfileBackupFolder(_profile);
-
- var oldBackupFolders = new DirectoryInfo(backupFolder).GetDirectories();
- foreach (var oldBackupFolder in oldBackupFolders)
+ catch (Exception ex)
{
- oldBackupFolder.Delete(true);
+ LogProfileError($"Error deleting old profile backup files.\r\n{ex.Message}", false);
+ }
+ finally
+ {
+ LogProfileMessage("Delete old profile backup files finished.");
+ }
+
+ // cleanup any backup folders from old backup process
+ try
+ {
+ var backupFolder = GetProfileBackupFolder(_profile);
+
+ var oldBackupFolders = new DirectoryInfo(backupFolder).GetDirectories();
+ foreach (var oldBackupFolder in oldBackupFolders)
+ {
+ oldBackupFolder.Delete(true);
+ }
+ }
+ catch
+ {
+ // if unable to delete, do not bother
}
}
- catch
- {
- // if unable to delete, do not bother
- }
+
}
finally
{
@@ -1950,7 +1955,7 @@ namespace ServerManagerTool.Lib
}
}
- public void CreateServerBackupArchiveFile(StringBuilder emailMessage, ServerProfileSnapshot profile = null)
+ public void CreateServerBackupArchiveFile(StringBuilder emailMessage, ServerProfileSnapshot profile)
{
// do nothing if profile is null or SotF
if (profile == null || profile.SotFEnabled)
@@ -2087,7 +2092,7 @@ namespace ServerManagerTool.Lib
}
// delete the old backup files
- if (DeleteOldServerBackupFiles)
+ if (DeleteOldBackupFiles)
{
try
{
@@ -3096,7 +3101,7 @@ namespace ServerManagerTool.Lib
Parallel.ForEach(_profiles.Keys.Where(p => p.EnableAutoBackup), profile => {
var app = new ServerApp
{
- DeleteOldServerBackupFiles = Config.Default.AutoBackup_DeleteOldFiles,
+ DeleteOldBackupFiles = Config.Default.AutoBackup_DeleteOldFiles,
OutputLogs = true,
SendAlerts = true,
SendEmails = true,
diff --git a/src/ARKServerManager/Lib/ServerProfile.cs b/src/ARKServerManager/Lib/ServerProfile.cs
index ce9cf29c..87297bac 100644
--- a/src/ARKServerManager/Lib/ServerProfile.cs
+++ b/src/ARKServerManager/Lib/ServerProfile.cs
@@ -4815,7 +4815,7 @@ namespace ServerManagerTool.Lib
var app = new ServerApp(true)
{
BackupWorldFile = false,
- DeleteOldServerBackupFiles = false,
+ DeleteOldBackupFiles = false,
SendAlerts = false,
SendEmails = false,
OutputLogs = false
diff --git a/src/ARKServerManager/Lib/ServerRuntime.cs b/src/ARKServerManager/Lib/ServerRuntime.cs
index b1276696..93d5c962 100644
--- a/src/ARKServerManager/Lib/ServerRuntime.cs
+++ b/src/ARKServerManager/Lib/ServerRuntime.cs
@@ -961,7 +961,7 @@ namespace ServerManagerTool.Lib
var serverApp = new ServerApp()
{
BackupWorldFile = false,
- DeleteOldServerBackupFiles = false,
+ DeleteOldBackupFiles = false,
SendAlerts = false,
SendEmails = false,
OutputLogs = false
diff --git a/src/ARKServerManager/UserControls/GlobalSettingsControl.xaml b/src/ARKServerManager/UserControls/GlobalSettingsControl.xaml
index a3f4d13b..1d3a8070 100644
--- a/src/ARKServerManager/UserControls/GlobalSettingsControl.xaml
+++ b/src/ARKServerManager/UserControls/GlobalSettingsControl.xaml
@@ -389,7 +389,7 @@
-
+
diff --git a/src/ARKServerManager/UserControls/ServerSettingsControl.xaml.cs b/src/ARKServerManager/UserControls/ServerSettingsControl.xaml.cs
index 2db31f2d..4cdbd447 100644
--- a/src/ARKServerManager/UserControls/ServerSettingsControl.xaml.cs
+++ b/src/ARKServerManager/UserControls/ServerSettingsControl.xaml.cs
@@ -1052,7 +1052,7 @@ namespace ServerManagerTool
var app = new ServerApp(true)
{
- DeleteOldServerBackupFiles = !Config.Default.AutoBackup_EnableBackup,
+ DeleteOldBackupFiles = !Config.Default.AutoBackup_EnableBackup,
SendEmails = false,
OutputLogs = false,
ServerProcess = ServerProcessType.Backup,
diff --git a/src/ARKServerManager/Utils/DiscordBotHelper.cs b/src/ARKServerManager/Utils/DiscordBotHelper.cs
index 025f9b81..2be3927b 100644
--- a/src/ARKServerManager/Utils/DiscordBotHelper.cs
+++ b/src/ARKServerManager/Utils/DiscordBotHelper.cs
@@ -295,7 +295,7 @@ namespace ServerManagerTool.Utils
var app = new ServerApp(true)
{
- DeleteOldServerBackupFiles = !Config.Default.AutoBackup_EnableBackup,
+ DeleteOldBackupFiles = !Config.Default.AutoBackup_EnableBackup,
OutputLogs = false,
SendAlerts = true,
SendEmails = false,
@@ -396,7 +396,7 @@ namespace ServerManagerTool.Utils
var app = new ServerApp(true)
{
- DeleteOldServerBackupFiles = !Config.Default.AutoBackup_EnableBackup,
+ DeleteOldBackupFiles = !Config.Default.AutoBackup_EnableBackup,
OutputLogs = false,
SendAlerts = true,
SendEmails = false,
@@ -497,7 +497,7 @@ namespace ServerManagerTool.Utils
var app = new ServerApp(true)
{
- DeleteOldServerBackupFiles = !Config.Default.AutoBackup_EnableBackup,
+ DeleteOldBackupFiles = !Config.Default.AutoBackup_EnableBackup,
OutputLogs = false,
SendAlerts = true,
SendEmails = false,
@@ -598,7 +598,7 @@ namespace ServerManagerTool.Utils
var app = new ServerApp(true)
{
- DeleteOldServerBackupFiles = !Config.Default.AutoBackup_EnableBackup,
+ DeleteOldBackupFiles = !Config.Default.AutoBackup_EnableBackup,
OutputLogs = false,
SendAlerts = true,
SendEmails = false,
@@ -701,7 +701,7 @@ namespace ServerManagerTool.Utils
var app = new ServerApp(true)
{
- DeleteOldServerBackupFiles = !Config.Default.AutoBackup_EnableBackup,
+ DeleteOldBackupFiles = !Config.Default.AutoBackup_EnableBackup,
OutputLogs = false,
SendAlerts = true,
SendEmails = false,
@@ -805,7 +805,7 @@ namespace ServerManagerTool.Utils
var app = new ServerApp(true)
{
- DeleteOldServerBackupFiles = !Config.Default.AutoBackup_EnableBackup,
+ DeleteOldBackupFiles = !Config.Default.AutoBackup_EnableBackup,
OutputLogs = false,
SendAlerts = true,
SendEmails = false,
diff --git a/src/ARKServerManager/VersionFeedBeta.xml b/src/ARKServerManager/VersionFeedBeta.xml
index a7bef2dc..cbd4a378 100644
--- a/src/ARKServerManager/VersionFeedBeta.xml
+++ b/src/ARKServerManager/VersionFeedBeta.xml
@@ -7,6 +7,29 @@
2021-12-16T00:00:00Z
+
+ urn:uuid:A652172B-F29A-4050-8A0C-8A34F6DDF1FA
+ 1.1.413 (1.1.413.12)
+ 1.1.413.12
+
+ 2021-12-18T00:00:00Z
+
+
+
+ BUGFIX
+
+
+ - Fixed the cleanup of the User config backup files.
+
+
+
+
+
+ bletch
+ bletch1971@hotmail.com
+
+
+
urn:uuid:A652172B-F29A-4050-8A0C-8A34F6DDF1FA
1.1.413 (1.1.413.11)
diff --git a/src/ARKServerManager/Windows/ServerMonitorWindow.xaml.cs b/src/ARKServerManager/Windows/ServerMonitorWindow.xaml.cs
index 887b909e..01013611 100644
--- a/src/ARKServerManager/Windows/ServerMonitorWindow.xaml.cs
+++ b/src/ARKServerManager/Windows/ServerMonitorWindow.xaml.cs
@@ -185,7 +185,7 @@ namespace ServerManagerTool.Windows
{
var app = new ServerApp(true)
{
- DeleteOldServerBackupFiles = !Config.Default.AutoBackup_EnableBackup,
+ DeleteOldBackupFiles = !Config.Default.AutoBackup_EnableBackup,
SendEmails = false,
OutputLogs = false,
ServerProcess = ServerProcessType.Backup,
diff --git a/src/ConanServerManager/App.xaml.cs b/src/ConanServerManager/App.xaml.cs
index f8cc6928..27a503ab 100644
--- a/src/ConanServerManager/App.xaml.cs
+++ b/src/ConanServerManager/App.xaml.cs
@@ -558,6 +558,9 @@ namespace ServerManagerTool
SettingsUtils.BackupUserConfigSettings(Config.Default, "userconfig.json", installFolder, backupFolder);
SettingsUtils.BackupUserConfigSettings(CommonConfig.Default, "commonconfig.json", installFolder, backupFolder);
+
+ SettingsUtils.DeleteBackupUserConfigFiles("userconfig.json", backupFolder, ServerApp.BACKUP_DELETEINTERVAL);
+ SettingsUtils.DeleteBackupUserConfigFiles("commonconfig.json", backupFolder, ServerApp.BACKUP_DELETEINTERVAL);
}
private void ShutDownApplication()
diff --git a/src/ConanServerManager/Globalization/en-US/en-US.xaml b/src/ConanServerManager/Globalization/en-US/en-US.xaml
index c2a28659..bc78981e 100644
--- a/src/ConanServerManager/Globalization/en-US/en-US.xaml
+++ b/src/ConanServerManager/Globalization/en-US/en-US.xaml
@@ -728,6 +728,7 @@
Backup Interval:
How often to perform the server backup, in hours and minutes (hh:mm). Set to 00:00 to disable.
Delete Old Backup Files
+ If enabled, when the auto-backup runs the old backup files will be deleted.
Older Than:
How old the backup file must be to be deleted in days.
WorldSave Message:
diff --git a/src/ConanServerManager/Lib/ServerApp.cs b/src/ConanServerManager/Lib/ServerApp.cs
index 925e7a01..62c96d19 100644
--- a/src/ConanServerManager/Lib/ServerApp.cs
+++ b/src/ConanServerManager/Lib/ServerApp.cs
@@ -35,8 +35,7 @@ namespace ServerManagerTool.Lib
public const int MUTEX_TIMEOUT = 5; // 5 minutes
public const int MUTEX_ATTEMPTDELAY = 5000; // 5 seconds
- private const int WRITELOG_ERRORRETRYDELAY = 2000; // 2 seconds
- private const int BACKUP_DELETEINTERVAL = 7; // 7 days
+ public const int BACKUP_DELETEINTERVAL = 7; // 7 days
private const int STEAM_MAXRETRIES = 10;
private const int RCON_MAXRETRIES = 3;
@@ -100,7 +99,7 @@ namespace ServerManagerTool.Lib
public bool BackupWorldFile = Config.Default.BackupWorldFile;
public bool CheckForOnlinePlayers = Config.Default.ServerShutdown_CheckForOnlinePlayers;
public bool SendMessages = Config.Default.ServerShutdown_SendShutdownMessages;
- public bool DeleteOldServerBackupFiles = false;
+ public bool DeleteOldBackupFiles = Config.Default.AutoBackup_DeleteOldFiles;
public int ExitCode = EXITCODE_NORMALEXIT;
public bool OutputLogs = false;
public bool SendAlerts = false;
@@ -187,7 +186,7 @@ namespace ServerManagerTool.Lib
}
// make a backup of the current profile and config files.
- CreateProfileBackupArchiveFile();
+ CreateProfileBackupArchiveFile(_profile);
if (ExitCode != EXITCODE_NORMALEXIT)
return;
@@ -198,7 +197,7 @@ namespace ServerManagerTool.Lib
}
// make a backup of the current world file.
- CreateServerBackupArchiveFile(emailMessage);
+ CreateServerBackupArchiveFile(emailMessage, _profile);
if (ExitCode != EXITCODE_NORMALEXIT)
return;
@@ -256,7 +255,7 @@ namespace ServerManagerTool.Lib
}
// make a backup of the current profile and config files.
- CreateProfileBackupArchiveFile();
+ CreateProfileBackupArchiveFile(_profile);
if (ExitCode != EXITCODE_NORMALEXIT)
return;
@@ -264,7 +263,7 @@ namespace ServerManagerTool.Lib
if (BackupWorldFile)
{
// make a backup of the current world file.
- CreateServerBackupArchiveFile(null);
+ CreateServerBackupArchiveFile(null, _profile);
if (ExitCode != EXITCODE_NORMALEXIT)
return;
@@ -1161,7 +1160,7 @@ namespace ServerManagerTool.Lib
emailMessage.AppendLine($"Server Manager version: {App.Instance.Version}");
// make a backup of the current profile and config files.
- CreateProfileBackupArchiveFile();
+ CreateProfileBackupArchiveFile(_profile);
if (ExitCode != EXITCODE_NORMALEXIT)
return;
@@ -1169,7 +1168,7 @@ namespace ServerManagerTool.Lib
if (BackupWorldFile)
{
// make a backup of the current world file.
- CreateServerBackupArchiveFile(emailMessage);
+ CreateServerBackupArchiveFile(emailMessage, _profile);
if (ExitCode != EXITCODE_NORMALEXIT)
return;
@@ -1728,7 +1727,7 @@ namespace ServerManagerTool.Lib
ExitCode = EXITCODE_NORMALEXIT;
}
- public void CreateProfileBackupArchiveFile(ServerProfileSnapshot profile = null)
+ public void CreateProfileBackupArchiveFile(ServerProfileSnapshot profile)
{
// do nothing if profile is null
if (profile == null)
@@ -1802,51 +1801,56 @@ namespace ServerManagerTool.Lib
}
// delete the old backup files
- try
+ if (DeleteOldBackupFiles)
{
- LogProfileMessage("Delete old profile backup files started...");
-
- var backupFolder = GetProfileBackupFolder(_profile);
- var backupFileFilter = $"*{Config.Default.BackupExtension}";
- var backupDateFilter = DateTime.Now.AddDays(-BACKUP_DELETEINTERVAL);
-
- var backupFiles = new DirectoryInfo(backupFolder).GetFiles(backupFileFilter).Where(f => f.LastWriteTime < backupDateFilter);
- foreach (var backupFile in backupFiles)
+ try
{
- try
+ var deleteInterval = Config.Default.AutoBackup_EnableBackup ? Config.Default.AutoBackup_DeleteInterval : BACKUP_DELETEINTERVAL;
+
+ LogProfileMessage("Delete old profile backup files started...");
+
+ var backupFolder = GetProfileBackupFolder(_profile);
+ var backupFileFilter = $"*{Config.Default.BackupExtension}";
+ var backupDateFilter = DateTime.Now.AddDays(-deleteInterval);
+
+ var backupFiles = new DirectoryInfo(backupFolder).GetFiles(backupFileFilter).Where(f => f.LastWriteTime < backupDateFilter);
+ foreach (var backupFile in backupFiles)
{
- LogProfileMessage($"{backupFile.Name} was deleted, last updated {backupFile.CreationTime}.");
- backupFile.Delete();
- }
- catch
- {
- // if unable to delete, do not bother
+ try
+ {
+ LogProfileMessage($"{backupFile.Name} was deleted, last updated {backupFile.CreationTime}.");
+ backupFile.Delete();
+ }
+ catch
+ {
+ // if unable to delete, do not bother
+ }
}
}
- }
- catch (Exception ex)
- {
- LogProfileError($"Error deleting old profile backup files.\r\n{ex.Message}", false);
- }
- finally
- {
- LogProfileMessage("Delete old profile backup files finished.");
- }
-
- // cleanup any backup folders from old backup process
- try
- {
- var backupFolder = GetProfileBackupFolder(_profile);
-
- var oldBackupFolders = new DirectoryInfo(backupFolder).GetDirectories();
- foreach (var oldBackupFolder in oldBackupFolders)
+ catch (Exception ex)
{
- oldBackupFolder.Delete(true);
+ LogProfileError($"Error deleting old profile backup files.\r\n{ex.Message}", false);
+ }
+ finally
+ {
+ LogProfileMessage("Delete old profile backup files finished.");
+ }
+
+ // cleanup any backup folders from old backup process
+ try
+ {
+ var backupFolder = GetProfileBackupFolder(_profile);
+
+ var oldBackupFolders = new DirectoryInfo(backupFolder).GetDirectories();
+ foreach (var oldBackupFolder in oldBackupFolders)
+ {
+ oldBackupFolder.Delete(true);
+ }
+ }
+ catch
+ {
+ // if unable to delete, do not bother
}
- }
- catch
- {
- // if unable to delete, do not bother
}
}
finally
@@ -1855,7 +1859,7 @@ namespace ServerManagerTool.Lib
}
}
- public void CreateServerBackupArchiveFile(StringBuilder emailMessage, ServerProfileSnapshot profile = null)
+ public void CreateServerBackupArchiveFile(StringBuilder emailMessage, ServerProfileSnapshot profile)
{
// do nothing if profile is null
if (profile == null)
@@ -1958,7 +1962,7 @@ namespace ServerManagerTool.Lib
}
// delete the old backup files
- if (DeleteOldServerBackupFiles)
+ if (DeleteOldBackupFiles)
{
try
{
@@ -2939,7 +2943,7 @@ namespace ServerManagerTool.Lib
Parallel.ForEach(_profiles.Keys.Where(p => p.EnableAutoBackup), profile => {
var app = new ServerApp
{
- DeleteOldServerBackupFiles = Config.Default.AutoBackup_DeleteOldFiles,
+ DeleteOldBackupFiles = Config.Default.AutoBackup_DeleteOldFiles,
OutputLogs = true,
SendAlerts = true,
SendEmails = true,
diff --git a/src/ConanServerManager/Lib/ServerProfile.cs b/src/ConanServerManager/Lib/ServerProfile.cs
index 083c5e64..d4b32244 100644
--- a/src/ConanServerManager/Lib/ServerProfile.cs
+++ b/src/ConanServerManager/Lib/ServerProfile.cs
@@ -1320,7 +1320,7 @@ namespace ServerManagerTool.Lib
var app = new ServerApp(true)
{
BackupWorldFile = false,
- DeleteOldServerBackupFiles = false,
+ DeleteOldBackupFiles = false,
SendAlerts = false,
SendEmails = false,
OutputLogs = false
diff --git a/src/ConanServerManager/UserControls/GlobalSettingsControl.xaml b/src/ConanServerManager/UserControls/GlobalSettingsControl.xaml
index c9f4600f..2803b0aa 100644
--- a/src/ConanServerManager/UserControls/GlobalSettingsControl.xaml
+++ b/src/ConanServerManager/UserControls/GlobalSettingsControl.xaml
@@ -340,7 +340,7 @@
-
+
diff --git a/src/ConanServerManager/UserControls/ServerSettingsControl.xaml.cs b/src/ConanServerManager/UserControls/ServerSettingsControl.xaml.cs
index 4673a699..51e88bf1 100644
--- a/src/ConanServerManager/UserControls/ServerSettingsControl.xaml.cs
+++ b/src/ConanServerManager/UserControls/ServerSettingsControl.xaml.cs
@@ -825,7 +825,7 @@ namespace ServerManagerTool
var app = new ServerApp(true)
{
- DeleteOldServerBackupFiles = !Config.Default.AutoBackup_EnableBackup,
+ DeleteOldBackupFiles = !Config.Default.AutoBackup_EnableBackup,
SendEmails = false,
OutputLogs = false,
ServerProcess = ServerProcessType.Backup,
diff --git a/src/ConanServerManager/Utils/DiscordBotHelper.cs b/src/ConanServerManager/Utils/DiscordBotHelper.cs
index 44abc15e..2908bd81 100644
--- a/src/ConanServerManager/Utils/DiscordBotHelper.cs
+++ b/src/ConanServerManager/Utils/DiscordBotHelper.cs
@@ -295,7 +295,7 @@ namespace ServerManagerTool.Utils
var app = new ServerApp(true)
{
- DeleteOldServerBackupFiles = !Config.Default.AutoBackup_EnableBackup,
+ DeleteOldBackupFiles = !Config.Default.AutoBackup_EnableBackup,
OutputLogs = false,
SendAlerts = true,
SendEmails = false,
@@ -396,7 +396,7 @@ namespace ServerManagerTool.Utils
var app = new ServerApp(true)
{
- DeleteOldServerBackupFiles = !Config.Default.AutoBackup_EnableBackup,
+ DeleteOldBackupFiles = !Config.Default.AutoBackup_EnableBackup,
OutputLogs = false,
SendAlerts = true,
SendEmails = false,
@@ -497,7 +497,7 @@ namespace ServerManagerTool.Utils
var app = new ServerApp(true)
{
- DeleteOldServerBackupFiles = !Config.Default.AutoBackup_EnableBackup,
+ DeleteOldBackupFiles = !Config.Default.AutoBackup_EnableBackup,
OutputLogs = false,
SendAlerts = true,
SendEmails = false,
@@ -598,7 +598,7 @@ namespace ServerManagerTool.Utils
var app = new ServerApp(true)
{
- DeleteOldServerBackupFiles = !Config.Default.AutoBackup_EnableBackup,
+ DeleteOldBackupFiles = !Config.Default.AutoBackup_EnableBackup,
OutputLogs = false,
SendAlerts = true,
SendEmails = false,
@@ -701,7 +701,7 @@ namespace ServerManagerTool.Utils
var app = new ServerApp(true)
{
- DeleteOldServerBackupFiles = !Config.Default.AutoBackup_EnableBackup,
+ DeleteOldBackupFiles = !Config.Default.AutoBackup_EnableBackup,
OutputLogs = false,
SendAlerts = true,
SendEmails = false,
@@ -805,7 +805,7 @@ namespace ServerManagerTool.Utils
var app = new ServerApp(true)
{
- DeleteOldServerBackupFiles = !Config.Default.AutoBackup_EnableBackup,
+ DeleteOldBackupFiles = !Config.Default.AutoBackup_EnableBackup,
OutputLogs = false,
SendAlerts = true,
SendEmails = false,
diff --git a/src/ConanServerManager/VersionFeedBeta.xml b/src/ConanServerManager/VersionFeedBeta.xml
index 8d6d1b22..55eead71 100644
--- a/src/ConanServerManager/VersionFeedBeta.xml
+++ b/src/ConanServerManager/VersionFeedBeta.xml
@@ -7,6 +7,29 @@
2021-12-17T00:00:00Z
+
+ urn:uuid:40905243-2E97-4FCD-ACEA-53C9D42E69F0
+ 1.1.58 (1.1.58.12)
+ 1.1.58.12
+
+ 2021-12-18T00:00:00Z
+
+
+
+ BUGFIX
+
+
+ - Fixed the cleanup of the User config backup files.
+
+
+
+
+
+ bletch
+ bletch1971@hotmail.com
+
+
+
urn:uuid:40905243-2E97-4FCD-ACEA-53C9D42E69F0
1.1.58 (1.1.58.11)
diff --git a/src/ConanServerManager/Windows/ServerMonitorWindow.xaml.cs b/src/ConanServerManager/Windows/ServerMonitorWindow.xaml.cs
index 6048faa7..e6566a57 100644
--- a/src/ConanServerManager/Windows/ServerMonitorWindow.xaml.cs
+++ b/src/ConanServerManager/Windows/ServerMonitorWindow.xaml.cs
@@ -185,7 +185,7 @@ namespace ServerManagerTool.Windows
{
var app = new ServerApp(true)
{
- DeleteOldServerBackupFiles = !Config.Default.AutoBackup_EnableBackup,
+ DeleteOldBackupFiles = !Config.Default.AutoBackup_EnableBackup,
SendEmails = false,
OutputLogs = false,
ServerProcess = ServerProcessType.Backup,
diff --git a/src/ServerManager.Common/Utils/SettingsUtils.cs b/src/ServerManager.Common/Utils/SettingsUtils.cs
index 6e727f9f..a57d277b 100644
--- a/src/ServerManager.Common/Utils/SettingsUtils.cs
+++ b/src/ServerManager.Common/Utils/SettingsUtils.cs
@@ -1,6 +1,8 @@
using Newtonsoft.Json;
using ServerManagerTool.Common.Lib;
using System;
+using System.Configuration;
+using System.Diagnostics;
using System.IO;
using System.Linq;
@@ -8,7 +10,7 @@ namespace ServerManagerTool.Common.Utils
{
public static class SettingsUtils
{
- public static void BackupUserConfigSettings(System.Configuration.ApplicationSettingsBase settings, string fileName, string settingsPath, string backupPath)
+ public static void BackupUserConfigSettings(ApplicationSettingsBase settings, string fileName, string settingsPath, string backupPath)
{
if (settings == null || string.IsNullOrWhiteSpace(fileName))
return;
@@ -34,7 +36,7 @@ namespace ServerManagerTool.Common.Utils
if (!string.IsNullOrWhiteSpace(backupPath))
{
// create a backup of the settings file
- var backupFile = IOUtils.NormalizePath(Path.Combine(backupPath, $"{settingsFileName}_{DateTime.UtcNow.ToString("yyyyMMdd_HHmmss")}{settingsFileExt}"));
+ var backupFile = IOUtils.NormalizePath(Path.Combine(backupPath, $"{settingsFileName}_{DateTime.Now.ToString("yyyyMMdd_HHmmss")}{settingsFileExt}"));
try
{
@@ -46,30 +48,45 @@ namespace ServerManagerTool.Common.Utils
{
// do nothing, just exit
}
-
- try
- {
- var filesToDelete = new DirectoryInfo(backupPath).GetFiles($"{settingsFileName}_*{settingsFileExt}").Where(f => f.LastWriteTimeUtc.AddDays(7) < DateTime.UtcNow);
- foreach (var fileToDelete in filesToDelete)
- {
- try
- {
- fileToDelete.Delete();
- }
- catch (Exception)
- {
- // do nothing, just exit
- }
- }
- }
- catch (Exception)
- {
- // do nothing, just exit
- }
}
}
- public static void MigrateSettings(System.Configuration.ApplicationSettingsBase settings, string settingsFile)
+ public static void DeleteBackupUserConfigFiles(string fileName, string backupPath, int interval)
+ {
+ try
+ {
+ Debug.WriteLine("Deleting old config backup files started...");
+
+ var backupFileName = Path.GetFileNameWithoutExtension(fileName);
+ var backupFileExt = Path.GetExtension(fileName);
+ var backupFileFilter = $"{backupFileName}_*{backupFileExt}";
+ var backupDateFilter = DateTime.Now.AddDays(-interval);
+
+ var filesToDelete = new DirectoryInfo(backupPath).GetFiles(backupFileFilter).Where(f => f.LastWriteTime < backupDateFilter);
+ foreach (var fileToDelete in filesToDelete)
+ {
+ try
+ {
+ fileToDelete.Delete();
+ Debug.WriteLine($"{fileToDelete.Name} was deleted, last updated {fileToDelete.CreationTime}.");
+ }
+ catch
+ {
+ // if unable to delete, do not bother
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ Debug.WriteLine($"Error deleting old server backup files.\r\n{ex.Message}");
+ }
+ finally
+ {
+ Debug.WriteLine("Deleting old config backup files finished.");
+ }
+ }
+
+ public static void MigrateSettings(ApplicationSettingsBase settings, string settingsFile)
{
if (settings == null || string.IsNullOrWhiteSpace(settingsFile) || !File.Exists(settingsFile))
return;