Improving TokuDB Hot Backup Usage with the autotokubackup Command Line Tool
In this blog post, we’ll look at how the command line tool autotokubackup can make TokuDB hot backups easier.
I would like to share an experimental tool named autotokubackup, for TokuBackup. This tool is aimed at helping simplify the life of TokuDB system administrators. autotokubackup is written in the Python language.
General information:
Now you want to automate this process. The first problem is that the
second backup will fail, because it’s required that the backup directory
is empty before starting a backup process. One solution is to create
time-stamped directories and for the backups.
Further, you have a backup policy that requires some other necessary files are copied as part of your backup process. You need to write a script to put those files into a separate folder under backup directory.
Another issue you will face is the lack of any clear output on backup progress. The shell just pauses until the backup completes. The one possible way to obtain information about the backup process is displaying the MySQL processlist in a separate MySQL shell. But it isn’t the best way, and there are some issues, as reported here: Unclear status information of backup state while taking backups using TokuBackup.
Generally, we need to know which files are backed up during the backup process. There should also be a clear message indicating the end of the backup process.
To make your life easier, the autotokubackup tool:
* From source:
* or via pip3:
The result will be something like:
After that there should be a configuration file for this tool located -> /etc/tokubackup.conf.
The structure of the config file is:
You can change options to reflect your environment and start to
use. Available command line options for the tool can be displayed using
You can prepare different config files. For example, one for the
slave. Specify using the –defaults_file option, and the overall result
of the run should be something like the below:
The backup directory will store the following:
That’s it.
I would like to share an experimental tool named autotokubackup, for TokuBackup. This tool is aimed at helping simplify the life of TokuDB system administrators. autotokubackup is written in the Python language.
General information:
- If you need more information about TokuBackup, read here: TokuBackup Doc
- The project is in Github under Percona-Lab: autotokubackup
- The PyPi link for package: PyPi – autotokubackup
Further, you have a backup policy that requires some other necessary files are copied as part of your backup process. You need to write a script to put those files into a separate folder under backup directory.
Another issue you will face is the lack of any clear output on backup progress. The shell just pauses until the backup completes. The one possible way to obtain information about the backup process is displaying the MySQL processlist in a separate MySQL shell. But it isn’t the best way, and there are some issues, as reported here: Unclear status information of backup state while taking backups using TokuBackup.
Generally, we need to know which files are backed up during the backup process. There should also be a clear message indicating the end of the backup process.
To make your life easier, the autotokubackup tool:
- Automates the TokuDB database backup procedures
- Creates timestamped backups inside the backup directory, overcoming the need for copy/remove old backups to empty the backup directory
- Copies all necessary files for your backup policy (you can specify up to ten supplementary files to be in the backup directory as part of backup process)
- Clearly describes what is going to be in the backup director, by showing newly created files inside backup directory
- Clearly shows the end of backup process
- Installed Percona Server with TokuDB engine + TokuBackup plugin
- Installed Python3
* From source:
The structure of the config file is:
--help
No comments:
Post a Comment