ansible-roles/mysql/tasks/utils.yml

99 lines
1.7 KiB
YAML

---
# mytop
- name: Install mytop
apt:
name: mytop
state: installed
tags:
- packages
- mytop
- mysql
- name: Read debian-sys-maint password
shell: cat /etc/mysql/debian.cnf | grep -m1 "password = .*" | cut -d" " -f3
register: mysql_debian_password
changed_when: False
tags:
- mysql
- name: Configure mytop
template:
src: mytop.j2
dest: /root/.mytop
mode: "600"
force: yes
tags:
- mytop
- mysql
# mysqltuner
- name: Install mysqltuner
copy:
src: mysqltuner.pl
dest: "{{ mysql_scripts_dir or general_scripts_dir | mandatory }}/mysqltuner.pl"
mode: "700"
tags:
- mysql
- mysqltuner
- name: Install aha
apt:
name: aha
tags:
- mysql
# automatic optimizations
- name: Optimize script for MySQL
copy:
src: mysql-optimize.sh
dest: "{{ mysql_scripts_dir or general_scripts_dir | mandatory }}/mysql-optimize.sh"
mode: "700"
tags:
- mysql
- name: Enable Weekly cron to optimize MySQL
file:
src: "{{ mysql_scripts_dir or general_scripts_dir | mandatory }}/mysql-optimize.sh"
dest: /etc/cron.weekly/mysql-optimize.sh
state: link
when: mysql_cron_optimize
tags:
- mysql
- name: Disable Weekly cron to optimize MySQL
file:
dest: /etc/cron.weekly/mysql-optimize.sh
state: absent
when: not mysql_cron_optimize
tags:
- mysql
# my-add.sh
- name: Install apg
apt:
name: apg
tags:
- mysql
- packages
- name: Ensure /usr/share/scripts exists
file:
dest: /usr/share/scripts
mode: "700"
state: directory
tags:
- mysql
- name: Install my-add.sh
copy:
src: my-add.sh
dest: "{{ mysql_scripts_dir or general_scripts_dir | mandatory }}/my-add.sh"
mode: "700"
tags:
- mysql