sqlBackup: A Modern, Modular Solution for MySQL Backups
this is article about mysql backup for system administrators
When it comes to database management, reliable backups are non-negotiable. For MySQL and MariaDB users,sqlBackupstands out as a robust, Python-based tool that brings modern features and flexibility to the backup process. After exploring its capabilities and documentation, here’s a deep dive into what makes sqlBackup a compelling choice for database administrators and developers alike.

What is sqlBackup?
sqlBackupis an open-source backup utility designed specifically for MySQL and MariaDB databases. Written in Python, it offers a modular architecture and a rich set of features that go far beyond simple database dumps. The project is actively maintained and available on GitHub:https://github.com/klevze/sqlBackup.
Key Features
sqlBackupis packed with features that address real-world backup needs:
Comprehensive MySQL Backup:Utilizes
mysqldumpwith support for routines and events, ensuring complete database exports.Flexible Archiving:Supports multiple archive formats including plain SQL, gzip, xz, tar.xz, zip, and rar, giving users control over storage and compression.
Multi-Channel Notifications:Notifies users of backup status via Telegram, Email, Slack, SMS (Twilio), Viber, and more. This is especially useful for teams that need instant alerts.
Remote Uploads:Backups can be automatically uploaded to remote servers using SFTP, FTP, or SCP, with flexible scheduling options.
Wildcard Database Exclusion:Easily exclude databases from backups using wildcard patterns (e.g.,
projekti_*), which is a huge time-saver for complex environments.Graceful Interruption Handling:The tool handles interruptions (like CTRL+C) gracefully, ensuring a clean exit and clear messaging.
Comprehensive Logging:Offers colored console output, file logging with rotation, and configurable log levels for both debugging and audit trails.
Configuration Validation:Includes a standalone validator to check configuration files for errors before running backups.
Use Cases
sqlBackupis suitable for a wide range of scenarios:
Web Hosting Providers:Automate and manage backups for multiple client databases.
SaaS Platforms:Ensure regular, validated backups with multi-channel notifications.
DevOps Teams:Integrate with CI/CD pipelines or cron jobs for hands-off, reliable backups.
Individual Developers:Peace of mind for anyone running MySQL/MariaDB in production or development.
Installation & Setup
Getting started with sqlBackup is straightforward. Here’s a quick guide:
Prerequisites
Python 3.6 or newer
MySQL/MariaDB client tools (
mysql,mysqldump)
Installation Steps
Clone the Repository:
git clone https://github.com/klevze/sqlBackup.git
cd sqlBackup
Install Dependencies:
pip3 install -r requirements.txt
Configure:
cp config.ini.default config.ini
nano config.ini
Editconfig.iniwith your database credentials, backup paths, and notification settings.
Run the Backup:
python3 -m sql_backup
Validate Configuration (Optional):
python validate_config.py --config config.ini --verbose
Documentation & Project Structure
The documentation is thorough, covering installation, configuration, usage, and development. The project is organized as a modern Python package, making it easy to extend or integrate into other workflows.
Real-World Usage
sqlBackup isn’t just a theoretical tool — it’s used in production environments, including sites likethewallpapers.netandamigadb.net. This real-world adoption speaks to its reliability and feature set.
Final Thoughts
sqlBackupbrings together the best of modern Python development and practical backup management. Its modular design, extensive notification options, and flexible configuration make it a standout choice for anyone serious about MySQL backups. Whether you’re managing a single database or dozens, sqlBackup is well worth a look.
Explore the project on GitHub:https://github.com/klevze/sqlBackup