Copia de seguridad de la subtabla de la subbase de datos de la base de datos MySQL

Copia de seguridad de subbase de datos

Crea un guión y escribe.

[scripts raíz@localhost]# vim bak_db_v1.sh

#!/bin/bash

ruta de respaldo

bak_path=/copia de seguridad/db

contraseña de cuenta

mysql_cmd='-uroot -pRedHat@123'

Bases de datos para excluir

excluir_db='esquema_información|mysql|esquema_rendimiento|sys'

Verifique si la ruta de respaldo existe, créela si no existe

[ -d ${bak_path} ] || mkdir -p ${bak_path}

Extraiga la base de datos de la que se necesita hacer una copia de seguridad y escríbala en el archivo (dbname)

mysql ${mysql_cmd} -e 'mostrar bases de datos' -N | egrep -v "${exclude_db}" > nombrebd

Archivos en bucle, copia de seguridad para cada biblioteca.

mientras lee la línea

hacer

 mysqldump ${mysql_cmd} -B $línea | gzip > ${bak_path}/${line}_$(fecha +%F).sql.gz

hecho <nombrebd

eliminar archivos temporales

rm -f nombrebd

Copia de seguridad de la tabla

#!/bin/bash
ruta de copia de seguridad
bak_path=/backup/db
cuenta, contraseña
mysql_cmd='-uroot -pRedHat@123'
base de datos a excluir
exclusion_db='information_schema|mysql|performance_schema|sys'
para extraer la tabla de datos a respaldar arriba y escríbalo en el archivo (tbname)
mysql -uroot -pRedHat@123 -N -e'show table from abc' > tbname
loop file, haga una copia de seguridad de cada tabla
mientras lee la línea ,
coloque
la tabla de datos en la base de datos correspondiente a continuación.
 [ -d ${bak_path}/abc ] || mkdir -p ${bak_path}/abc
 mysqldump ${mysql_cmd} abc $line | gzip > ${bak_path}/abc/abc_${line}_$(fecha + % F).sql.gz
hecho <tbname
eliminar archivo temporal
rm -f tbname

Supongo que te gusta

Origin blog.csdn.net/m0_70940822/article/details/132014086
Recomendado
Clasificación