From d77682900908fcd78281305a067eadb2943805bf Mon Sep 17 00:00:00 2001 From: li-chx Date: Thu, 20 Nov 2025 09:37:06 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E6=B7=BB=E5=8A=A0=E6=B8=85?= =?UTF-8?q?=E7=90=86=E8=BE=93=E5=87=BA=E6=96=87=E4=BB=B6=E5=A4=B9=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SQLBackupToCOS/BackupService.cs | 1 + SQLBackupToCOS/OutputService.cs | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/SQLBackupToCOS/BackupService.cs b/SQLBackupToCOS/BackupService.cs index 58995ef..04a6f91 100644 --- a/SQLBackupToCOS/BackupService.cs +++ b/SQLBackupToCOS/BackupService.cs @@ -185,6 +185,7 @@ public class BackupService(ILogger logger, IConfiguration config, Directory.Delete(dumpDir, recursive: true); _logger.LogInformation("Backup completed: {File}", finalDump); + await _outputService.CleanOutputDirFiles(); await _outputService.AddFileToOutput(finalDump); //await _cosService.AddFileToCOS(finalDump); } diff --git a/SQLBackupToCOS/OutputService.cs b/SQLBackupToCOS/OutputService.cs index f3f4e9c..e6c734f 100644 --- a/SQLBackupToCOS/OutputService.cs +++ b/SQLBackupToCOS/OutputService.cs @@ -48,5 +48,38 @@ namespace SQLBackupToCOS throw; } } + public async Task CleanOutputDirFiles() + { + try + { + string outputPath = _config.GetValue("outputDir") ?? "/output"; + if (Directory.Exists(outputPath)) + { + var files = Directory.GetFiles(outputPath); + foreach (var file in files) + { + _logger.LogInformation($"Deleting file: {file}"); + try + { + File.Delete(file); + } + catch (Exception ex) + { + _logger.LogError(ex, $"Failed to delete file: {file}"); + } + } + _logger.LogInformation("All files in output directory have been deleted."); + } + else + { + _logger.LogWarning($"Output directory does not exist: {outputPath}"); + } + } + catch (Exception ex) + { + _logger.LogError(ex, "Failed to clean output directory"); + throw; + } + } } }