From 367fa6dd90278172c8be26ade8e6810f6686d279 Mon Sep 17 00:00:00 2001
From: Adar Nimrod <nimrod@shore.co.il>
Date: Thu, 22 Oct 2015 09:37:06 +0300
Subject: [PATCH] Copy tasks, backup template from other roles.

---
 tasks/main.yml     | 44 ++++++++++++++++++++++++++++++++++++++++++++
 templates/mysql.j2 |  2 ++
 2 files changed, 46 insertions(+)
 create mode 100644 templates/mysql.j2

diff --git a/tasks/main.yml b/tasks/main.yml
index f410018..d20fcad 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -1,2 +1,46 @@
 ---
 # tasks file for ansible-mysql
+
+- name: Preseed
+  debconf:
+    name: mysql-server-5.5
+    question: '{{ item }}'
+    vtype: password
+    value: '{{ mysql_root_password }}'
+  with_items:
+    - mysql-server/root_password
+    - mysql-server/root_password_again
+
+- name: apt install
+  apt:
+    name: '{{ item }}'
+    state: present
+    update_cache: yes
+    cache_valid_time: 3600
+  with_items:
+    - mysql-server-5.5
+    - mysql-client-5.5
+    - python-mysqldb
+    - cron
+
+- name: Create database
+  mysql_db:
+    collation: utf8_general_ci
+    encoding: utf8
+    name: '{{ mysql_database }}'
+    state: present
+
+- name: Create account
+  mysql_user:
+    name: '{{ mysql_user }}'
+    password: '{{ mysql_password }}'
+    priv: '{{ mysql_database }}.*:SELECT,INSERT,UPDATE,DELETE,CREATE,INDEX'
+    state: present
+
+- name: Add daily backup job
+  template:
+    src: mysql.j2
+    dest: '/etc/cron.daily/mysql_{{ mysql_database }}'
+    owner: root
+    group: root
+    mode: '0700'
diff --git a/templates/mysql.j2 b/templates/mysql.j2
new file mode 100644
index 0000000..2867b90
--- /dev/null
+++ b/templates/mysql.j2
@@ -0,0 +1,2 @@
+#!/bin/sh -e
+mysqldump --user root --password {{ mysql_root_password }} --single-transaction --force {{ mysql_database }} > /var/backups/mysql_{{ mysql_database }}.sql
-- 
GitLab