Skip to content

Instantly share code, notes, and snippets.

@osrecio
Created March 7, 2014 10:56
Show Gist options
  • Save osrecio/9409479 to your computer and use it in GitHub Desktop.
Save osrecio/9409479 to your computer and use it in GitHub Desktop.
#!/bin/bash
#
# ----------------------------------------------------------------------------
# magento_backup.sh by @OSrecio
#
# Hace una copia de seguridad de la instalacion de magento en la maquina local.
#
# Se crean dos ficheros comprimidos:
# - Un volcado de la base de datos MYSQL.
# - Una copia de la carpeta que contiene la instalacion web.
#
# ----------------------------------------------------------------------------
# Definicion de variables
# Inicializamos
unset FECHA
unset HORA
unset BBDD_NAME
unset BACKUP_DIR
unset MYSQL_USER
unset MYSQL_PASS
unset PROJECTNAME
# Formatos
FECHA=$(date '+%Y-%m-%d')
HORA=$(date '+%H%M%S')
# Asiganaciones
MYSQL_USER='user_DB'
MYSQL_PASS='pass_user_DB'
BBDD_NAME='DB_name'
FILEBASENAME='file_base_name'
PROJECTNAME='Project_name'
# Rutas
ORIGEN='path_to_document_root (/var/www/project)'
DESTINO="$HOME/Backups/$FECHA"
# Creamos la carpeta de destino si es necesario
if [ ! -d "$FECHA" ]; then
mkdir -p "$DESTINO"
fi
# Limpiamos Pantalla
clear
echo '---------------------------------------------'
echo "Backup de la instalacion local de $PROJECTNAME"
echo '---------------------------------------------'
echo
# Borra la cache de la instalacion local
rm -rf $ORIGEN/var/cache/*
# Borra la informacion de sesiones de la instalacion local
rm -rf $ORIGEN/var/session/*
# Borra los reports de errores
rm -rf $ORIGEN/var/report/*
# Borra los logs
rm -rf $ORIGEN/var/log/*
echo
echo "Haciendo backup de la instalacion de $PROJECTNAME..."
echo '...copiando ficheros.'
echo
# Comprimimos la carpeta de origen y guardamos el archivo comprimido
tar -czpf $DESTINO/$FILEBASENAME[$HORA].files.tgz $ORIGEN
echo '...volcando Base de datos'
# Volcado de la base de datos y compresion con gzip
mysqldump --user=$MYSQL_USER --password=$MYSQL_PASS --add-drop-table $BBDD_NAME | gzip -9 > $DESTINO/$FILEBASENAME[$HORA].sql.gz
# Despedida y cierre..
echo
echo "Copia de seguridad de $FECHA finalizada"
echo
echo 'Fin del Proceso.'
echo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment