-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbackup_database.sh
More file actions
38 lines (30 loc) · 1.14 KB
/
backup_database.sh
File metadata and controls
38 lines (30 loc) · 1.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/bin/bash
BASE_DIR="/backup"
BACKUP_DIR=$BASE_DIR"/data"
TMP_DIR=$BASE_DIR"/tmp"
# Credenciales de un usuario MySQL con acceso de sólo lectura
MYUSER=backup
MYPASS=12345678
# Parámetros y opciones para mysqldump
ARGS="-u$MYUSER -p$MYPASS --add-drop-database --add-locks \
--create-options --complete-insert --comments --disable-keys \
--dump-date --extended-insert --quick --routines --triggers"
# Recuperar el nombre de base de datos pasado como parámetro
DB="nombre_bd_1"
DB2="nombre_bd_2"
DB3="nombre_bd_3"
DB4="nombre_bd_4"
# Obtener un volcado de la base de datos
mysqldump ${ARGS} $DB > $TMP_DIR/$DB.sql
mysqldump ${ARGS} $DB2 > $TMP_DIR/$DB2.sql
mysqldump ${ARGS} $DB3 > $TMP_DIR/$DB3.sql
mysqldump ${ARGS} $DB4 > $TMP_DIR/$DB4.sql
# Obtener la fecha y hora actual
DATE=$(date +%Y-%m-%d_%H%M%S)
# Comprimir y resguardar
tar cjf $BACKUP_DIR/${DB}_$DATE.tar.bzip2 $TMP_DIR/$DB.sql 2>/dev/null
tar cjf $BACKUP_DIR/${DB2}_$DATE.tar.bzip2 $TMP_DIR/$DB2.sql 2>/dev/null
tar cjf $BACKUP_DIR/${DB3}_$DATE.tar.bzip2 $TMP_DIR/$DB3.sql 2>/dev/null
tar cjf $BACKUP_DIR/${DB4}_$DATE.tar.bzip2 $TMP_DIR/$DB4.sql 2>/dev/null
# Eliminar el volcado
rm $TMP_DIR/*.sql