sauvegarde les bases d'OpenStack et teste leur restauration chaque semaine
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
7b0a8583eb
commit
b054888f5a
6 changed files with 136 additions and 5 deletions
|
|
@ -36,6 +36,25 @@ if [ "$(docker inspect -f '{% raw %}{{.State.Running}}{% endraw %}' {{ sauvegard
|
|||
> "$WORKDIR/portail.sql"
|
||||
EN_PLUS+=(-C "$WORKDIR" portail.sql)
|
||||
fi
|
||||
|
||||
# OpenStack (bloc A, 2026-10-12) : export logique des bases de Kolla (Keystone,
|
||||
# Nova, Neutron, Glance, Heat, Placement, Grafana), sans redémarrage ni
|
||||
# verrou (--single-transaction). Les comptes MariaDB (base mysql) ne sont pas
|
||||
# exportés : Kolla les recrée au déploiement. Le mot de passe est lu dans
|
||||
# passwords.yml et passé par l'entrée standard, jamais en argument.
|
||||
if [ "$(docker inspect -f '{% raw %}{{.State.Running}}{% endraw %}' {{ sauvegardes_openstack_conteneur }} 2>/dev/null)" = "true" ]; then
|
||||
kolla_sql() {
|
||||
printf '[client]\nuser=root\npassword="%s"\nhost=%s\n' \
|
||||
"$(awk '/^database_password:/{print $2}' {{ sauvegardes_openstack_mots_de_passe }})" "{{ sauvegardes_openstack_hote }}" \
|
||||
| docker exec -i {{ sauvegardes_openstack_conteneur }} "$@"
|
||||
}
|
||||
BASES=$(kolla_sql mariadb --defaults-extra-file=/dev/stdin -N -e \
|
||||
"SELECT schema_name FROM information_schema.schemata WHERE schema_name NOT IN ('mysql','information_schema','performance_schema','sys')")
|
||||
# shellcheck disable=SC2086 # une base par mot
|
||||
kolla_sql mariadb-dump --defaults-extra-file=/dev/stdin --single-transaction \
|
||||
--routines --triggers --events --databases $BASES > "$WORKDIR/openstack.sql"
|
||||
EN_PLUS+=(-C "$WORKDIR" openstack.sql)
|
||||
fi
|
||||
for chemin in {{ sauvegardes_portail_fichiers | join(' ') }}; do
|
||||
if [ -e "$chemin" ]; then
|
||||
EN_PLUS+=("$chemin")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue