From e485926b9b7b200f873e16977891002689b76536 Mon Sep 17 00:00:00 2001 From: Tim Flink Date: Thu, 23 Jul 2015 16:51:02 +0000 Subject: [PATCH] setting up mariadb backups for phabricator --- inventory/group_vars/qa-stg | 1 + inventory/group_vars/qadevel | 1 + roles/phabricator/tasks/main.yml | 6 ++++++ .../phabricator/templates/phabricator-mariadb-dump.cron.j2 | 2 ++ 4 files changed, 10 insertions(+) create mode 100644 roles/phabricator/templates/phabricator-mariadb-dump.cron.j2 diff --git a/inventory/group_vars/qa-stg b/inventory/group_vars/qa-stg index b32c2dbda0..98b911e24c 100644 --- a/inventory/group_vars/qa-stg +++ b/inventory/group_vars/qa-stg @@ -45,6 +45,7 @@ phabricator_header_color: 'fluttershy' phabricator_mail_enabled: False phabricator_mail_domain: stg.fedoraproject.org ircnick: fedoraqabot +phabricator_mysqldump_filename: 'qadevel-stg_phabricator.sql' # backup details (for parity with prod, not actually used) backup_dir: /srv/backup diff --git a/inventory/group_vars/qadevel b/inventory/group_vars/qadevel index b6529361e5..f0327b7243 100644 --- a/inventory/group_vars/qadevel +++ b/inventory/group_vars/qadevel @@ -68,6 +68,7 @@ phabricator_config_filename: qaconfig phabricator_header_color: 'blue' phabricator_mail_enabled: True phabricator_mail_domain: fedoraproject.org +phabricator_mysqldump_filename: 'qadevel_phabricator.sql' ircnick: fedoraqabot diff --git a/roles/phabricator/tasks/main.yml b/roles/phabricator/tasks/main.yml index ed45916c21..2aa797edc7 100644 --- a/roles/phabricator/tasks/main.yml +++ b/roles/phabricator/tasks/main.yml @@ -33,6 +33,12 @@ login_host: "127.0.0.1" delegate_to: "{{ inventory_hostname }}" +- name: ensure backup directory exists + file: path={{ backup_dir }} state=directory owner=root group=root mode=1755 + +- name: generate phabricator mysql backup cronjob + template: src=phabricator-mariadb-dump.cron.j2 dest=/etc/cron.d/phabricator-mariadb-dump.cron owner=root group=root mode=0644 + - name: create phabricator daemon user user: name={{ phabricator_daemon_user }} diff --git a/roles/phabricator/templates/phabricator-mariadb-dump.cron.j2 b/roles/phabricator/templates/phabricator-mariadb-dump.cron.j2 new file mode 100644 index 0000000000..8c0837f9f4 --- /dev/null +++ b/roles/phabricator/templates/phabricator-mariadb-dump.cron.j2 @@ -0,0 +1,2 @@ +# backup phabricator related mysql databases +0 2 * * * root mysql -u root -e "show databases" | grep -v Database | grep -v mysql| grep -v information_schema| grep -v test | grep -v OLD | grep {{ phabricator_db_prefix }} | tr '\n' ' ' | sed i\ 'mysqldump -u root --databases ' | tr '\n' ' ' | sed a\ ' > {{ backup_dir }}/{{ phabricator_mysqldump_filename }}' | tr '\n' ' ' | sh