36 lines
1.2 KiB
C#
36 lines
1.2 KiB
C#
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;
|
|
}
|