first commit

This commit is contained in:
2026-03-02 20:53:28 +01:00
commit d27c205106
63 changed files with 4593 additions and 0 deletions

35
Config/BackupConfig.cs Normal file
View File

@@ -0,0 +1,35 @@
namespace HanaToolbox.Config;
public enum BackupType { Tenant, Schema, All }
public sealed class BackupConfig
{
public bool Enabled { get; set; } = false;
public int ScheduleHour { get; set; } = 2;
public int ScheduleMinute { get; set; } = 0;
/// <summary>What to back up: Tenant, Schema, or All.</summary>
public BackupType Type { get; set; } = BackupType.All;
/// <summary>hdbuserstore key for the tenant DB.</summary>
public string UserKey { get; set; } = "CRONKEY";
/// <summary>Base directory for tenant backup files.</summary>
public string BackupBasePath { get; set; } = "/hana/backup/tenant";
public bool Compress { get; set; } = true;
public bool BackupSystemDb { get; set; } = false;
public string SystemDbUserKey { get; set; } = string.Empty;
/// <summary>Schema names to export when Type is Schema or All.</summary>
public List<string> SchemaNames { get; set; } = [];
/// <summary>Base directory for schema export files.</summary>
public string SchemaBackupPath { get; set; } = "/hana/backup/schema";
public bool CompressSchema { get; set; } = true;
/// <summary>Thread count for export/import. 0 = auto (nproc/2).</summary>
public int Threads { get; set; } = 0;
}