From 14713a0030d450ddd058a6f43c8fc6cd8a7a106b Mon Sep 17 00:00:00 2001 From: nd Date: Sun, 19 Apr 2020 11:52:30 +0200 Subject: [PATCH] added backup support --- defaults/main.yml | 3 +++ tasks/backup.yml | 21 +++++++++++++++++++++ tasks/main.yml | 4 ++++ 3 files changed, 28 insertions(+) create mode 100644 tasks/backup.yml diff --git a/defaults/main.yml b/defaults/main.yml index 58f569d..4e1a1ef 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -1,4 +1,7 @@ mariadb: + backup: + enable: True + keep_days: 3 users: {} # mysql: # host: localhost diff --git a/tasks/backup.yml b/tasks/backup.yml new file mode 100644 index 0000000..e36bd72 --- /dev/null +++ b/tasks/backup.yml @@ -0,0 +1,21 @@ +- name: add mysql backup folder + file: + path: /opt/mysqlbackup/ + state: directory + owner: root + group: root + mode: '750' + +- name: add backup cronjob for easier backup/restore + cron: + name: db backup + job: '/usr/bin/mysqldump --all-databases --single-transaction | gzip > /opt/mysqlbackup/$(date "+\%Y\%m\%d-\%H\%M.sql.gz")' + user: root + hour: "*/4" + minute: 45 + +- name: add backup cleanup cronjob + cron: + name: db backup cleanup + job: 'find /opt/mysqlbackup/* -mtime +{{ mariadb.backup.keep_days }} -type f -exec rm {} \;' + special_time: daily diff --git a/tasks/main.yml b/tasks/main.yml index b2e081c..978c512 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -20,3 +20,7 @@ password: "{{ item.value.password }}" priv: "{{ item.value.priv | default('*.*:USAGE') }}" with_dict: "{{ mariadb.users }}" + +- include_tasks: backup.yml + when: + - mariadb.backup.enable