I want to start by saying thank you for this tool. XtraBackup is great- we use it multiple times per day across several servers reliably. Where would I be without y’all!? In that vein I wanted to contribute back so I wrote a fairly straight forward but hopefully useful python program to automate MySQL backups using XtraBackup.
The intention of this project is to automate Percona’s XtraBackup in a way that is easy to understand and manipulate. ‘XtraBackupAutomation’ is a simple program that allows for the scheduling of MySQL backups using systemd and Percona’s XtraBackup tool. It also allows automatic archiving of these backups.
This is my first open source project, and I am looking forward to contributing back to the community. Constructive feedback and feature requests are welcome as I hope to maintain a useful piece of software for everyone to use.
Thanks!
Features
Scheduled Percona’s XtraBackups for MySQL using systemd services and timers
Automatic backup archival using python’s shutil.make_archive
Robust configuration intended to give users the ability to enable/disable features, change file locations, and create the program they need with ease
Easy to read, well commented, one file implementation
Requirements
Developed On
OS:
Debian GNU/Linux 10 (buster)
Python Version:
Python 3.10.4
Python Packages
Name: pexpect, Version: 4.8.0
Percona XtraBackup Version:
XtraBackup version 8.0.28-21 based on MySQL server 8.0.28 Linux (x86_64)
MySQL
MySql Ver 8.0.28 for Linux on x86_64 (MySQL Community Server - GPL)