6.2 KiB
6.2 KiB
🚀 SAP HANA Automation Scripts
This repository offers a comprehensive collection of Bash and Batch scripts designed to streamline various administrative and monitoring tasks for SAP HANA databases. Automate your routine operations and enhance your database management efficiency!
⚙️ Installation
To quickly set up these powerful tools on your server, simply execute the following command:
bash -c "$(curl -sSL https://install.technopunk.space)"
This command will download and run our interactive install.sh script, guiding you through the selection and installation of individual tools. No manual downloads required!
🛠️ Tools Overview
Here's a detailed look at the automation scripts available in this repository:
1. cleaner.sh (File Cleaner) 🧹
- Purpose: This script efficiently deletes files older than a specified retention period from given directories. It's designed to help manage disk space by automatically removing aged files.
- Usage:
./cleaner.sh <retention_days>:<path> [<retention_days>:<path> ...] - Example:
./cleaner.sh 30:/var/log 7:/tmp/downloads
2. hanatool.sh (SAP HANA Schema & Tenant Management) 🗄️
- Purpose: A versatile command-line utility for SAP HANA, enabling quick exports and imports of schemas, as well as full tenant backups. It supports various options for flexible database management.
- Features:
- Export/Import schemas (with optional renaming).
- Perform full tenant backups.
- Supports
tar.gzcompression for efficient storage. - Dry-run mode for command preview without execution.
- Ntfy.sh notifications for task completion/failure alerts.
- Custom
hdbsqlpath support for flexible environments. - Option to replace existing objects during import.
- Usage:
- Schema Export/Import:
./hanatool.sh [USER_KEY] export|import [SCHEMA_NAME] [PATH] [OPTIONS] - Schema Rename Import:
./hanatool.sh [USER_KEY] import-rename [SCHEMA_NAME] [NEW_SCHEMA_NAME] [PATH] [OPTIONS] - Tenant Backup:
./hanatool.sh [USER_KEY] backup [PATH] [OPTIONS]
- Schema Export/Import:
- Options:
-t, --threads N,-c, --compress,-n, --dry-run,--ntfy <token>,--replace,--hdbsql <path>,-h, --help
3. keymanager.sh (SAP HANA Secure User Store Key Manager) 🔑
- Purpose: An interactive script designed to simplify the creation, deletion, and testing of SAP HANA
hdbuserstorekeys. It includes a rollback mechanism for failed key creations to ensure system integrity. - Features:
- Interactive menu for key management.
- Create new secure keys with guided prompts for host, instance, tenant, and user.
- Delete existing keys from a dynamic selection list.
- Test connections for existing keys to verify functionality.
- Automatic rollback (deletion) of newly created keys if connection test fails.
- Usage:
./keymanager.sh(runs an interactive menu)
4. aurora/ (HANA Aurora Refresh Suite) 🌅
- Purpose: This suite automates the refresh of "Aurora" schemas, which are copies of production schemas used for testing or development. It ensures these environments are up-to-date with production data.
- Components:
aurora.sh: The main script that orchestrates the refresh process.aurora.conf: Configuration file foraurora.sh, defining source schema, target user, paths, and post-import actions.
- Features:
- Drops existing Aurora schema before refresh (optional).
- Exports a specified source schema from production.
- Imports the exported data and renames it to the Aurora schema.
- Updates company name fields within the newly imported schema.
- Grants necessary privileges to a designated user on the Aurora schema.
- Executes custom post-import SQL scripts for further data manipulation or setup.
- Usage: Designed for automated execution, typically scheduled via cron, with all settings managed in
aurora/aurora.conf.
6. backup/ (SAP HANA Automated Backup Suite) 💾
- Purpose: This suite provides automated solutions for performing schema exports and/or full tenant backups for SAP HANA databases. It's ideal for setting up reliable, scheduled backup routines via cronjobs.
- Components:
backup.sh: The core script that executes the backup operations.backup.conf: Configuration file forbackup.sh, specifyinghdbsqlpath, user keys, backup directories, types, compression settings, and schemas to export.
- Features:
- Supports various backup types: schema export, tenant data backup, or both.
- Optionally backs up the SYSTEMDB.
- Configurable compression for both schema exports and tenant backups to save disk space.
- Uses
hdbuserstorekeys for secure database connections.
- Usage:
./backup/backup.sh(all operational parameters are read frombackup/backup.conf).
7. monitor/ (SAP HANA Monitoring Suite) 📊
- Purpose: This suite continuously monitors critical aspects of SAP HANA databases, including process status, disk usage, and log segment states. It sends proactive alerts via ntfy.sh when predefined thresholds are exceeded.
- Components:
monitor.sh: The main script that performs the monitoring checks.monitor.conf: Configuration file formonitor.sh, defining company name, ntfy.sh settings, HANA connection details, monitoring thresholds (disk usage, log segments, backup age), and directories to monitor.
- Features:
- Checks if all SAP HANA processes are running with a 'GREEN' status.
- Monitors disk usage for specified directories against a configurable percentage threshold.
- Analyzes HANA log segments for 'Truncated' and 'Free' percentages, alerting if they fall outside acceptable ranges.
- Monitors the age of the last successful complete data backup, alerting if it exceeds a defined time threshold.
- Sends detailed notifications via ntfy.sh for critical alerts and resolutions.
- Utilizes a lock file to prevent multiple instances from running concurrently.
- Usage:
./monitor/monitor.sh(all monitoring parameters and thresholds are read frommonitor/monitor.conf).