Ansible roles
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

49 lines
1.2 KiB

---
- name: Create the archive dir
file:
path: "{{ mailman_archive_dir }}"
state: directory
tags: mailman
- name: Archive previous version
synchronize:
src: "{{ mailman_root_dir }}/{{ item }}"
dest: "{{ mailman_archive_dir }}/"
recursive: True
delete: True
loop:
- venv
- data
delegate_to: "{{ inventory_hostname }}"
tags: mailman
- name: Dump the database
command: >
/usr/pgsql-13/bin/pg_dump
--clean
--host={{ mailman_db_server | quote }}
--port={{ mailman_db_port | quote }}
--username=sqladmin {{ mailman_db_name | quote }}
--file="{{ mailman_archive_dir }}/{{ mailman_db_name[item] }}.sql"
loop: "{{ mailman_db_name.keys() | list }}"
environment:
- PGPASSWORD: "{{ pg_admin_pass }}"
when: mailman_db_engine == 'postgres'
tags: mailman
- name: Dump the database
mysql_db:
state: dump
name: "{{ item }}"
target: "{{ mailman_archive_dir }}/{{ mailman_db_name[item] }}.sql.xz"
login_host: "{{ mailman_db_server }}"
login_port: "{{ mailman_db_port }}"
login_user: "{{ mailman_db_user }}"
login_password: "{{ mailman_db_pass }}"
quick: True
single_transaction: True
environment:
XZ_OPT: -T0
when: mailman_db_engine == 'mysql'
tags: mailman