https://github.com/ome/ansible-role-mysql-backup
Setup a cron job for regular full Mysql/Mariadb database dumps.
https://github.com/ome/ansible-role-mysql-backup
ansible backup database mariadb mysql
Last synced: 4 months ago
JSON representation
Setup a cron job for regular full Mysql/Mariadb database dumps.
- Host: GitHub
- URL: https://github.com/ome/ansible-role-mysql-backup
- Owner: ome
- License: bsd-2-clause
- Created: 2017-02-15T15:07:23.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2021-02-04T21:21:47.000Z (over 5 years ago)
- Last Synced: 2025-10-02T00:35:01.569Z (8 months ago)
- Topics: ansible, backup, database, mariadb, mysql
- Language: HTML
- Homepage: https://galaxy.ansible.com/ome/mysql_backup/
- Size: 11.7 KB
- Stars: 5
- Watchers: 8
- Forks: 12
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
MySQL Backup
============
[](https://github.com/ome/ansible-role-mysql-backup/actions)
[](https://galaxy.ansible.com/ome/mysql_backup/)
Setup a cron job for regular full Mysql/Mariadb database dumps.
Assumes `root` has password-less access to all databases.
Dependencies
------------
This requires a cron daemon to already be running.
This should be the default on most systems.
Role Variables
--------------
Required:
- `mysql_backup_dir`: Save backups in this directory
Optional:
- `mysql_backup_filename_format`: A filename containing unix `date` format sequences, default `{{ ansible_hostname }}-%Y%m%d-%H%M%S.mysqldump`.
This can be used to automatically overwrite backups on a rolling basis.
- `mysql_backup_frequency`: This must match one of the standard `/etc/cron.*` directories, typically either `daily` (default), `hourly`, `weekly` or `monthly`.
- `mysql_backup_minimum_expected_size`: The minimum size in bytes of the backup file.
The cron job will return an error if the file is smaller than this.
Example playbook
----------------
# This will name the backup file /nfs/backups/HOSTNAME-Mon.mysqldump
# where Mon will be replaced by the abbreviated day of the week, resulting
# in daily backups on a rolling weekly cycle
- hosts: mysql-servers
roles:
- role: ome.mysql_backup
mysql_backup_dir: /nfs/backups
mysql_backup_filename_format: "{{ ansible_hostname }}-%a.mysqldump"
mysql_backup_minimum_expected_size: 100000
Author Information
------------------
ome-devel@lists.openmicroscopy.org.uk