From 8929a4f99aee9c0294fd1a36bce5f36c6fd6767f Mon Sep 17 00:00:00 2001 From: li-chx Date: Fri, 14 Nov 2025 15:21:36 +0800 Subject: [PATCH] =?UTF-8?q?:bug:=20=E8=BF=98=E5=9C=A8=E4=BF=AE=E9=83=A8?= =?UTF-8?q?=E7=BD=B2bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SQLBackupToCOS/BackupService.cs | 20 +++++--------------- SQLBackupToCOS/appsettings.json | 22 ++++++++++++++++++++++ docker-compose.yml | 1 + 3 files changed, 28 insertions(+), 15 deletions(-) create mode 100644 SQLBackupToCOS/appsettings.json diff --git a/SQLBackupToCOS/BackupService.cs b/SQLBackupToCOS/BackupService.cs index 550a07b..c518942 100644 --- a/SQLBackupToCOS/BackupService.cs +++ b/SQLBackupToCOS/BackupService.cs @@ -42,24 +42,14 @@ public class BackupService(ILogger logger, IConfiguration config, var url = _config.GetValue("Database:Host") ?? "172.17.0.1"; var user = _config.GetValue("Database:User") ?? "backupUser"; var password = _config.GetValue("Database:Password") ?? ""; - - // 支持两种格式: - // 1. 数组格式(appsettings.json): ["db1", "db2"] - // 2. 逗号分隔格式(环境变量): "db1,db2" - var databases = _config.GetSection("Database:Databases").Get(); - if (databases == null || databases.Length == 0) - { - // 尝试读取逗号分隔的字符串 - var databasesStr = _config.GetValue("Database:Databases"); - databases = string.IsNullOrWhiteSpace(databasesStr) - ? ["my_database"] - : databasesStr.Split(',', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries); - } - + var databasesStr = _config.GetValue("Database:Databases"); + var databases = string.IsNullOrWhiteSpace(databasesStr) + ? ["my_database"] + : databasesStr.Split(',', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries); var timestamp = DateTime.Now.ToString("yyyyMMddHHmmss"); var dumpDir = $"/data/dumps/dump-{timestamp}"; var finalDump = $"/data/dumps/dump-{timestamp}.tar.gz"; - + try { Directory.CreateDirectory(dumpDir); diff --git a/SQLBackupToCOS/appsettings.json b/SQLBackupToCOS/appsettings.json new file mode 100644 index 0000000..b565d1e --- /dev/null +++ b/SQLBackupToCOS/appsettings.json @@ -0,0 +1,22 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.Hosting.Lifetime": "Information" + } + }, + "BackupIntervalMinutes": 60, + "Database": { + "Host": "", + "User": "", + "Password": "", + "Databases": "" + }, + "COS": { + "BucketName": "", + "Region": "", + "SecretId": "", + "SecretKey": "", + "FilePath": "" + } +} diff --git a/docker-compose.yml b/docker-compose.yml index 3dc6abd..04b42a5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -14,3 +14,4 @@ services: COS__SecretId: SECRETID COS__SecretKey: SECRETKEY COS__FilePath: PATH + BackupIntervalMinutes: 1440