mysql / mariadb - add ignore-tables

This commit is contained in:
Ludovic Cartier
2026-05-30 12:05:10 +02:00
parent 1a4b5d3c54
commit 6b6d058e58
2 changed files with 8 additions and 2 deletions
+2
View File
@@ -8,12 +8,14 @@ backup_mysql_user: ""
backup_mysql_password: "" backup_mysql_password: ""
backup_mysql_docker_enabled: false backup_mysql_docker_enabled: false
backup_mysql_docker_container: "" backup_mysql_docker_container: ""
backup_mysql_ignore_tables: []
backup_mariadb_host: "" backup_mariadb_host: ""
backup_mariadb_user: "" backup_mariadb_user: ""
backup_mariadb_password: "" backup_mariadb_password: ""
backup_mariadb_docker_enabled: false backup_mariadb_docker_enabled: false
backup_mariadb_docker_container: "" backup_mariadb_docker_container: ""
backup_mariadb_ignore_tables: []
backup_pg_host: "" backup_pg_host: ""
backup_pg_user: "" backup_pg_user: ""
+6 -2
View File
@@ -89,12 +89,14 @@ mysql_connection_args=()
[ -n "$backup_mysql_user" ] && mysql_connection_args+=("--user=$backup_mysql_user") [ -n "$backup_mysql_user" ] && mysql_connection_args+=("--user=$backup_mysql_user")
[ -n "$backup_mysql_password" ] && mysql_connection_args+=("--password=$backup_mysql_password") [ -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)") mysql_databases=$("${mysql_cmd[@]}" "${mysql_connection_args[@]}" -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema|performance_schema)")
mkdir -p $backup_dir/$today/mysql mkdir -p $backup_dir/$today/mysql
for db in $mysql_databases; 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 done
## end of mysql ## ## end of mysql ##
{% endif %} {% endif %}
@@ -124,12 +126,14 @@ mariadb_connection_args=()
[ -n "$backup_mariadb_user" ] && mariadb_connection_args+=("--user=$backup_mariadb_user") [ -n "$backup_mariadb_user" ] && mariadb_connection_args+=("--user=$backup_mariadb_user")
[ -n "$backup_mariadb_password" ] && mariadb_connection_args+=("--password=$backup_mariadb_password") [ -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)") mariadb_databases=$("${mariadb_cmd[@]}" "${mariadb_connection_args[@]}" -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema|performance_schema)")
mkdir -p $backup_dir/$today/mariadb mkdir -p $backup_dir/$today/mariadb
for db in $mariadb_databases; 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 done
## end of mariadb ## ## end of mariadb ##
{% endif %} {% endif %}