What is Cerberus and how does it work?
Cerberus is a simple tool for scheduling and managing backups of MariaDB or MySQL databases. It acts as a management tool for the standard mysqldump tool that is included with MariaDB and MySQL.
Cerberus includes a scheduler that will runs mysqldump to create backups with timestamp specific filenames according to a schedule either in a configuration file or by command arguments. The generated backup files may be stored on any location that is accessible for a Windows application (local drive, mapped drive, iSCSI target etc). FTP and file upload is not currently supported.
You may run Cerberus either from the command line or as a Windows service.
How much does Cerberus Cost?
Zero, Zilch, Nada, Nothing.
Cerberus is made available for FREE under the terms of our Free Software Licence.
Download & Installing Cerberus
The latest version of Cerberus is available here. A permalink for the latest version is https://go.calzadamedia.com/cerberus.
Cerberus is only distributed through this website, so if you have obtained it elsewhere, please download the latest version now.
Cerberus does not include any installation application. You simply download and extract the ZIP file. If you want to run Cerberus as a Windows service, the ZIP file contains a batch files to streamline service installation and removal. A full guide is included in Installing and Uninstalling Cerberus.
Will Cerberus work with non-Windows database servers - Linux, Mac etc?
Yes.
Cerberus is platform agnostic with regards to the database server and has been successfully tested with MariaDB running on Windows and Linux.
All it requires is for a version of mysqldump that is of an equivalent version of MariaDB or MySQL. If you are running MariaDB/MySQL on Windows, it is recommended that you use the mysqldump.exe included in your distribution. If your database server is running on Linux or any other non-windows operating system, you will need to download an equivalent version of mysqldump.exe from either MariaDB or MySQL.
Will Cerberus run on a non-Windows server or PC.
Honestly don't know - it has never been tried.
If you getting it working in WINE or similar, please get in touch.
How do I test or know Cerberus is working?
Cerberus writes a detailed log of all its' actions. Log files are found inside the Logs folder with files rotating daily. Log file retention and rotation is defined in the configuration file.
If you run Cerberus from the command line, the full output of the log is written to the console as well.
Where does Cerberus store backups?
The location of backup storage is defined in the configuration file. The location is essentially any drive or location that a Windows application has access to. This may be a local drive, mapped drive, iSCSI target or similar.
The backup location must exist and be accessible for Cerberus to work. Cerberus will not create any backup path you may have defined.
FTP and other upload functionality is currently not available.
How do I use Cerberus with my current backup solution?
Once you have defined a backup storage location, add that folder to your existing backup system.
For example, if Cerberus is saving backups to c:\backups\sql then include this folder if your wider backup.
How do I recover backups?
The output backup files are standard database dumps generated by mysqldump. To restore, execute with your preferred SQL client like HeidiSQL, SqlYog etc.
We strongly recommend you perform a test restore of generated backups. You may need to tweak Cerberus configuration to match your requirements.
Is Cerberus in active use and development?
Yes and yes.
Cerberus was originally developed to satisfy an internal requirement for managing MariaDB database backups. It is in use every day across our infrastructure managing backups for our own and customer databases.
There's no strict development plan for Cerberus. We add features and fix bugs as and when the need arises. If you have a suggestion or wish to report a bug, please get in touch.
What third party libraries does Cerberus use?
Cerberus is distributed with a number of libraries inside the lib folder. These are a combination of our libraries, Microsoft's and those from third parties. Key libraries are:
- CalzadaMedia.Common.Core - Our baseline common library.
- CalzadaMedia.Common.MariaDB - A Calzada Media library for assisting in connecting to MariaDB or MySQL servers.
- MySqlConnector - this used to directly connect and query the target database server.
- NewtonSoft.Json - not actually used at present, but present as required by CalzadaMedia.Common.Core
- SharpCompress - Used for compressing database backups.
Individual third party libraries are subject to their own Licencing and their owners retain their Copyright and Intellectual Property rights.
Can I distribute Cerberus with my application or solution?
No.
Unauthorised distribution of Cerberus is not allowed under our Free Software Licence. If you wish to included it with your application or solution, please contact us for a distribution licence. Exact terms will depend on your individual use case.
Can I resell, rebadge or whitelabel Cerberus?
No.
Reselling, rebadging, whitelabelling or distribution of Cerberus is not allowed under our Free Software Licence.
Why is it called Cerberus?
The name is taken from Greek Mythology and is a reflection of both the purpose of the application and also the continual minefield of despair that is managing and monitoring backups.