You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.5 KiB
47 lines
1.5 KiB
|
2 years ago
|
#!/usr/bin/env bash
|
||
|
|
|
||
|
|
#Ruta de destino backup
|
||
|
|
#DEST=usuaro@host:/path
|
||
|
|
DEST=usuaro@host:/path
|
||
|
|
|
||
|
|
#Variables de entorno (LAS MISMAS INGRESADAS EN .env)
|
||
|
|
CONTAINER_NAME=mysql_db
|
||
|
|
MYSQL_DATABASE=mysql
|
||
|
|
MYSQL_ROOT_PASSWORD=mysql
|
||
|
|
|
||
|
|
|
||
|
|
SCRIPT_PATH=$(realpath $0)
|
||
|
|
WORKDIR=$(dirname ${SCRIPT_PATH})
|
||
|
|
DIR=$(pwd)
|
||
|
|
LOG_DIR=${WORKDIR}/backup.log
|
||
|
|
FECHA=`date +%Y%m%d`
|
||
|
|
|
||
|
|
echo [`date`] ========== Comenzando script Backup - MYSQL ========== >> $LOG_DIR
|
||
|
|
cd ${WORKDIR}
|
||
|
|
|
||
|
|
echo [`date`] ::Volcando DB a ${WORKDIR}/backups/${MYSQL_DATABASE}${FECHA}.sql >> $LOG_DIR
|
||
|
|
docker container exec -it ${CONTAINER_NAME} bash -c "mysqldump -p${MYSQL_ROOT_PASSWORD} ${MYSQL_DATABASE} > backups/${MYSQL_DATABASE}${FECHA}.sql"
|
||
|
|
echo [`date`] ___ OK >> $LOG_DIR
|
||
|
|
echo ------------------------------------ >> $LOG_DIR
|
||
|
|
|
||
|
|
echo [`date`] ::Comprimiendo ${WORKDIR}/backups/${MYSQL_DATABASE}${FECHA}.sql a ${WORKDIR}/backups/${MYSQL_DATABASE}${FECHA}.zip >> $LOG_DIR
|
||
|
|
cd backups
|
||
|
|
zip -r ${MYSQL_DATABASE}${FECHA}.zip ${MYSQL_DATABASE}${FECHA}.sql
|
||
|
|
cd ${WORKDIR}
|
||
|
|
echo [`date`] ___ OK >> $LOG_DIR
|
||
|
|
echo ------------------------------------ >> $LOG_DIR
|
||
|
|
|
||
|
|
echo [`date`] ::Copiando de ${WORKDIR}/backups/${MYSQL_DATABASE}${FECHA}.zip a ${DEST} >> $LOG_DIR
|
||
|
|
scp backups/${MYSQL_DATABASE}${FECHA}.zip ${DEST}
|
||
|
|
echo [`date`] ___ OK >> $LOG_DIR
|
||
|
|
echo ------------------------------------ >> $LOG_DIR
|
||
|
|
|
||
|
|
echo [`date`] ::Eliminando ${WORKDIR}/backups/${MYSQL_DATABASE}${FECHA}.* >> $LOG_DIR
|
||
|
|
rm backups/${MYSQL_DATABASE}${FECHA}.*
|
||
|
|
echo [`date`] ___ OK >> $LOG_DIR
|
||
|
|
echo ------------------------------------ >> $LOG_DIR
|
||
|
|
|
||
|
|
# Vuelvo al directorio actual
|
||
|
|
cd ${DIR}
|
||
|
|
exit 0
|