Skip to content

Bash script to perform automagic backups of MariaDB / MySQL db.

License

Notifications You must be signed in to change notification settings

fcavero/tools-mariadb-backup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Backups automágicos de BBDD MariaDB / MySQL

Pequeño script de bash para llevar a cabo copias de seguridad de bases de datos MariaDB y MySQL, al que acompaña un fichero de configuración donde se definen sus modos de ejecución.

Opciones del «backup» a partir del fichero de configuración

  • BACKUP_USER (opcional, en blanco por defecto) → Usuario que ejecuta el backup; si el usuario que lanza el script no coincide con lo indicado en esta opción, la ejecución se aborta. Si se deja en blanco no se chequea.
  • HOSTNAME (opcional, en blanco o localhost por defecto) → El nombre de la máquina donde se encuentra la BBDD.
  • USERNAME y PASSWORD → Credenciales de conexión a MariaDB / MySQL
  • BACKUP_DIR → Directorio donde se almacena el backup; se crea si no existe, y el usuario de BACKUP_USER debe poder escribir en él.
  • D_SCHEMA_ONLY_DB_LIST, W_SCHEMA_ONLY_DB_LIST y M_SCHEMA_ONLY_DB_LIST → Lista de BBDD cuyo esquema debe ser copiado, según la periodicidad indicada en el nombre: D, daily; W, weekly; M, monthly.
  • D_FULL_BACKUP_DB_LIST, W_FULL_BACKUP_DB_LIST y M_FULL_BACKUP_DB_LIST → Lista de BBDD cuyo esquema y datos deben ser copiados, según la periodicidad indicada en el nombre: D, daily; W, weekly; M, monthly.
  • DAY_OF_WEEK_TO_KEEP (1-7, Monday-Sunday)→ Día de la semana en el que se ejecuta el backup diario.
  • DAYS_TO_KEEP → Número de días que se conserva el backup diario.
  • WEEKS_TO_KEEP → Número de semanas que se conserva el backup semanal.

Ejemplo de fichero de configuración:

BACKUP_USER=

HOSTNAME=
 
USERNAME=teto
PASSWORD="xL0rA7dEGU8vs6H6vgh9GFqwnC"

BACKUP_DIR=/u01/backup/mariadb/
 
D_SCHEMA_ONLY_DB_LIST="db-2"
D_FULL_BACKUP_DB_LIST="db-1 db-2"
W_SCHEMA_ONLY_DB_LIST="db-2"
W_FULL_BACKUP_DB_LIST="db-1 db-2"
M_SCHEMA_ONLY_DB_LIST="db-1 db-2"
M_FULL_BACKUP_DB_LIST="db-1 db-2 db-3"
 
#### SETTINGS FOR ROTATED BACKUPS ####
DAY_OF_WEEK_TO_KEEP=7
 
DAYS_TO_KEEP=7
 
WEEKS_TO_KEEP=5

About

Bash script to perform automagic backups of MariaDB / MySQL db.

Topics

Resources

License

Stars

Watchers

Forks

Languages