From 6b6d058e58a372248f98589897dfd6eb3b8eb9a0 Mon Sep 17 00:00:00 2001 From: Ludovic Cartier Date: Sat, 30 May 2026 12:05:10 +0200 Subject: [PATCH] mysql / mariadb - add ignore-tables --- defaults/main.yml | 2 ++ templates/brain_backup.j2 | 8 ++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/defaults/main.yml b/defaults/main.yml index 0ee0ce7..ddf410e 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -8,12 +8,14 @@ backup_mysql_user: "" backup_mysql_password: "" backup_mysql_docker_enabled: false backup_mysql_docker_container: "" +backup_mysql_ignore_tables: [] backup_mariadb_host: "" backup_mariadb_user: "" backup_mariadb_password: "" backup_mariadb_docker_enabled: false backup_mariadb_docker_container: "" +backup_mariadb_ignore_tables: [] backup_pg_host: "" backup_pg_user: "" diff --git a/templates/brain_backup.j2 b/templates/brain_backup.j2 index 35914fb..e97b7a8 100644 --- a/templates/brain_backup.j2 +++ b/templates/brain_backup.j2 @@ -89,12 +89,14 @@ mysql_connection_args=() [ -n "$backup_mysql_user" ] && mysql_connection_args+=("--user=$backup_mysql_user") [ -n "$backup_mysql_password" ] && mysql_connection_args+=("--password=$backup_mysql_password") +mysql_ignore_tables_args=({% for table in backup_mysql_ignore_tables | default([]) %}"--ignore-table={{ table }}" {% endfor %}) + mysql_databases=$("${mysql_cmd[@]}" "${mysql_connection_args[@]}" -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema|performance_schema)") mkdir -p $backup_dir/$today/mysql for db in $mysql_databases; - do "${mysqldump_cmd[@]}" "${mysql_connection_args[@]}" -e -q -Q --single-transaction --routines --events --triggers "$db" | gzip -c > $backup_dir/$today/mysql/dump_$db.sql.gz; + do "${mysqldump_cmd[@]}" "${mysql_connection_args[@]}" "${mysql_ignore_tables_args[@]}" -e -q -Q --single-transaction --routines --events --triggers "$db" | gzip -c > $backup_dir/$today/mysql/dump_$db.sql.gz; done ## end of mysql ## {% endif %} @@ -124,12 +126,14 @@ mariadb_connection_args=() [ -n "$backup_mariadb_user" ] && mariadb_connection_args+=("--user=$backup_mariadb_user") [ -n "$backup_mariadb_password" ] && mariadb_connection_args+=("--password=$backup_mariadb_password") +mariadb_ignore_tables_args=({% for table in backup_mariadb_ignore_tables | default([]) %}"--ignore-table={{ table }}" {% endfor %}) + mariadb_databases=$("${mariadb_cmd[@]}" "${mariadb_connection_args[@]}" -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema|performance_schema)") mkdir -p $backup_dir/$today/mariadb for db in $mariadb_databases; - do "${mariadbdump_cmd[@]}" "${mariadb_connection_args[@]}" -e -q -Q --single-transaction --routines --events --triggers "$db" | gzip -c > $backup_dir/$today/mariadb/dump_$db.sql.gz; + do "${mariadbdump_cmd[@]}" "${mariadb_connection_args[@]}" "${mariadb_ignore_tables_args[@]}" -e -q -Q --single-transaction --routines --events --triggers "$db" | gzip -c > $backup_dir/$today/mariadb/dump_$db.sql.gz; done ## end of mariadb ## {% endif %}