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.
50 lines
1.2 KiB
50 lines
1.2 KiB
4 years ago
|
---
|
||
|
|
||
|
- 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
|