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

56
Program.cs Normal file
View File

@@ -0,0 +1,56 @@
using HanaToolbox.Cli;
using HanaToolbox.Commands;
var cli = CliArgs.Parse(args);
return cli.Command switch
{
"backup" => await BackupCommand.RunAsync(cli),
"export" => await ExportCommand.RunAsync(cli),
"import" => await ImportCommand.RunAsync(cli),
"import-rename" => await ImportRenameCommand.RunAsync(cli),
"aurora" => await AuroraCommand.RunAsync(cli),
"clean" => await CleanCommand.RunAsync(cli),
"monitor" => await MonitorCommand.RunAsync(cli),
"firewall" => await FirewallCommand.RunAsync(cli),
"keymanager" => await KeyManagerCommand.RunAsync(cli),
"cron" => await CronCommand.RunAsync(cli),
"onboard" => await OnboardCommand.RunAsync(cli),
"" => Help(),
_ => UnknownCommand(cli.Command),
};
static int Help()
{
Console.WriteLine("""
HanaToolbox SAP HANA & Business One management toolkit
Usage: hanatoolbox <command> [options]
Commands:
backup Run a HANA tenant/schema backup manually
export Export a schema: export <schema> <path> [-c] [-t N]
import Import a schema: import <schema> <path> [-c] [-t N] [--replace]
import-rename Import & rename: import-rename <src> <dst> <path> [-c] [-t N] [--replace]
aurora Run an Aurora schema refresh manually
clean Delete old backup/log files per retention policy
monitor Run a HANA monitoring check manually
firewall Open the interactive Firewall TUI
keymanager Open the interactive Key Manager TUI
cron Run scheduled tasks (called by system cron every minute)
cron setup Configure cron task schedules and settings (TUI)
onboard Run the initial setup wizard
Global options:
-v, --verbose Enable verbose output
--sid <SID> Override HANA SID from config (default: from hanatoolbox.json)
""");
return 0;
}
static int UnknownCommand(string cmd)
{
Console.Error.WriteLine($"hanatoolbox: unknown command '{cmd}'");
Console.Error.WriteLine("Run 'hanatoolbox' for usage.");
return 1;
}