Files
tar-valon-ansible/app-configs/rinoa/dagu/dags/mariadb-backups.yaml.j2
T
Trez.One 4f257ce6bd
Validate DAGs / validate (push) Failing after 1m16s
Tweaks for DAG-related items.
2025-09-13 21:08:34 -04:00

33 lines
1.2 KiB
Django/Jinja

name: mariadb-backup
description: "Backup of all databases from MariaDB container"
schedule: "30 23 * * *"
env:
MARIADB_ROOT_PASSWORD: {{ lookup('community.hashi_vault.vault_kv2_get', 'env', engine_mount_point='rinoa-docker', url=vault_addr, token=vault_token)['secret']['MARIADB_ENVIRONMENT_MYSQL_ROOT_PASSWORD'] }}
steps:
- name: list-all-databases
shell: nix-shell
shellPackages: [mariadb]
command: |
mariadb -h mariadb -u root -p"${MARIADB_ROOT_PASSWORD}" -Nse "SHOW DATABASES;" | egrep -v '(information|performance)_schema|mysql|sys'
output: RINOA_MADB_LIST
- name: db-folder-check-creation-backup
depends: list-all-databases
shell: nix-shell
shellPackages: [mariadb]
workingDir: /backups/dbs/mariadb
script: |
for mdatabase in $(echo ${RINOA_MADB_LIST}) ; do
mkdir -p ${mdatabase}
mariadb_dump --u root --p"${MARIADB_ROOT_PASSWORD}" --databases ${madb} > ${mdatabase}/dump-$(date +%Y%m%d)-$(cat /proc/sys/kernel/random/uuid).sql
done
- name: db-backup-cleanup
depends:
- list-all-databases
- db-folder-check-creation-backup
workingDir: /backups/dbs/mariadb
command: >
find $(pwd) -type f -name "*.sql" -ctime +7 | xargs rm -fv