diff --git a/tasks/main.yml b/tasks/main.yml index f410018437a1b4088103c0dafad9630a370f147c..d20fcad29d13eda7c47673ed06b24fe1fd1f8455 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 0000000000000000000000000000000000000000..2867b901835fb732f590783d52acb2beda04c8d2 --- /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