From f0a9d2d75a583d8e9665c155bd493a47f4887acc Mon Sep 17 00:00:00 2001 From: Tomi Eckert Date: Wed, 24 Sep 2025 18:49:26 +0200 Subject: [PATCH] update readme --- README.md | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 112 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index e6c2540..da1357b 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,122 @@ -# SAP HANA cron tools +# SAP HANA Automation Scripts -Run the installer: +This repository contains a collection of Bash and Batch scripts designed to automate various administrative and monitoring tasks for SAP HANA databases. + +## Installation + +To get started, you can use the `install.sh` script to download and set up the tools: ```sh bash -c "$(curl -sSL https://install.technopunk.space)" ``` -## Tools +This command will download and execute the `install.sh` script, which provides an interactive menu to select and install individual tools. -### Aurora generator script +## Tools Overview -Configure the `aurora.conf`, then run the script with `./arurora.sh`. +Here's a breakdown of the scripts included in this repository: -### Backup script +### 1. `install.sh` (Script Downloader) -Configure the `backup.conf`, then run the script with `./backup.sh`. \ No newline at end of file +* **Purpose**: An interactive script to download and manage other scripts from a remote `packages.conf` file. +* **Features**: + * Presents a menu of available tools. + * Checks for updates to installed scripts. + * Shows a `diff` for configuration files before overwriting. + * Automatically makes downloaded shell scripts executable. +* **Usage**: Run the script and follow the on-screen prompts. + +### 2. `packages.conf` (Configuration for `install.sh`) + +* **Purpose**: Defines the list of available scripts, their versions, and their download URLs for `install.sh`. +* **Format**: An associative array `SCRIPT_PACKAGES` where keys are package names and values are `version|URL1 URL2...`. + +### 3. `clean.sh` (File Cleaner) + +* **Purpose**: Deletes files older than a specified retention period in given directories. +* **Usage**: `./clean.sh : [: ...]` +* **Example**: `./clean.sh 30:/var/log 7:/tmp/downloads` + +### 4. `hanatool.sh` (SAP HANA Schema and Tenant Management Tool) + +* **Purpose**: A versatile tool for exporting/importing HANA schemas and performing tenant backups. +* **Features**: + * Export a schema. + * Import a schema (with optional renaming). + * Perform a full tenant backup. + * Supports compression (`tar.gz`). + * Dry-run mode to preview commands. + * Ntfy.sh notifications for completion/failure. + * Custom `hdbsql` path. +* **Usage**: + * Schema: `./hanatool.sh [USER_KEY] export|import [SCHEMA_NAME] [PATH] [OPTIONS]` + * Schema Rename: `./hanatool.sh [USER_KEY] import-rename [SCHEMA_NAME] [NEW_SCHEMA_NAME] [PATH] [OPTIONS]` + * Tenant: `./hanatool.sh [USER_KEY] backup [PATH] [OPTIONS]` +* **Options**: `-t, --threads N`, `-c, --compress`, `-n, --dry-run`, `--ntfy `, `--hdbsql `, `-h, --help` + +### 5. `hdb_keymanager.sh` (SAP HANA Secure User Store Key Manager) + +* **Purpose**: An interactive script to manage SAP HANA `hdbuserstore` keys. +* **Features**: + * Create new secure keys with interactive prompts. + * Delete existing keys from a selection list. + * Test connections for existing keys. + * Includes rollback functionality if a newly created key fails to connect. +* **Usage**: `./hdb_keymanager.sh` (runs an interactive menu) + +### 6. `update.bat` (Git Update Script for Windows) + +* **Purpose**: A simple Windows Batch script to stage all changes, commit with a user-provided message, and push to a Git repository. +* **Usage**: `update.bat` + +### 7. `aurora/aurora.sh` (HANA Aurora Refresh Script) + +* **Purpose**: Automates the refresh of a "Aurora" schema (a copy of a production schema) for testing or development. +* **Configuration**: Uses `aurora/aurora.conf`. +* **Features**: + * Exports a source schema. + * Imports and renames it to an Aurora schema. + * Updates company name fields in the imported schema. + * Can drop existing Aurora schema before refresh. + * Grants privileges to a specified user. + * Runs post-import SQL scripts. +* **Usage**: `./aurora/aurora.sh [new | complete | info]` + * `new`: Export, import, and rename (no privileges or post-scripts). + * `complete`: Drop, export, import, grant privileges, and run post-scripts. + * `info`: Show configuration information. + +### 8. `aurora/aurora.conf` (Configuration for `aurora.sh`) + +* **Purpose**: Configures the `aurora.sh` script, including source schema, target user, backup directory, `hdbsql` path, and post-import SQL scripts. + +### 9. `backup/backup.sh` (SAP HANA Automated Backup Script) + +* **Purpose**: Performs automated schema exports and/or tenant backups for SAP HANA databases, typically via cronjobs. +* **Configuration**: Uses `backup/backup.conf`. +* **Features**: + * Supports schema exports for multiple schemas. + * Performs full tenant data backups. + * Optionally backs up the SYSTEMDB. + * Supports compression for both schema exports and tenant backups. + * Configurable backup types (`schema`, `tenant`, `all`). +* **Usage**: `./backup/backup.sh` (all settings are read from `backup.conf`) + +### 10. `backup/backup.conf` (Configuration for `backup.sh`) + +* **Purpose**: Configures the `backup.sh` script, including `hdbsql` path, user keys, base backup directory, backup type, compression settings, and schema names to export. + +### 11. `monitor/monitor.sh` (SAP HANA Monitoring Script) + +* **Purpose**: Monitors SAP HANA processes, disk usage, and log segment states, sending ntfy.sh notifications for alerts. +* **Configuration**: Uses `monitor/monitor.conf`. +* **Features**: + * Checks if all HANA processes are running (GREEN status). + * Monitors disk usage for specified directories against a threshold. + * Analyzes HANA log segments for 'Truncated' and 'Free' percentages against thresholds. + * Sends detailed notifications via ntfy.sh. + * Uses a lock file to prevent multiple instances from running. +* **Usage**: `./monitor/monitor.sh` (all settings are read from `monitor.conf`) + +### 12. `monitor/monitor.conf` (Configuration for `monitor.sh`) + +* **Purpose**: Configures the `monitor.sh` script, including company name, ntfy.sh settings, HANA connection details, monitoring thresholds (disk usage, log segments), and directories to monitor. \ No newline at end of file