Close Menu

Configuración del Respaldo

Script de Respaldo

El script de respaldo para ELCONIX S7, es un archivo de texto que se ejecuta como un archivo bash, el cual comprende de todos los comandos necesarios para realizar un backup exitoso de ELCONIX S7.

A continuación el script de respaldo, el cual puede verlo incluido en la carpeta /backup_scripts/enx_BackupAll.sh dentro de su instalación de ELCONIX S7.

Importante, normalmente ELCONIX instala este script en la carpeta /root

Este comando permite copiar el script de backup a la carpeta /root

# cp /Elconix_AS/Applications/ENX_S7/backup_scripts/enx_BackupAll.sh /root/

 

Una vez copiado el archivo puede validarlo, una vez dentro el archivo debe verse como este:

#!/bin/bash

cd /Backup

echo "Deleting Old Temporal Archive Files"
rm -rf /Backup/Elconix_AS.tar.gz
rm -rf /Backup/MySQL-Data.tar.gz

echo ""
echo "Renaming Old Backups - Keeping 2 Old"
mv Elconix_AS.Backup_Old6.tar Elconix_AS.Backup_Old7.tar
mv Elconix_AS.Backup_Old5.tar Elconix_AS.Backup_Old6.tar
mv Elconix_AS.Backup_Old4.tar Elconix_AS.Backup_Old5.tar
mv Elconix_AS.Backup_Old3.tar Elconix_AS.Backup_Old4.tar
mv Elconix_AS.Backup_Old2.tar Elconix_AS.Backup_Old3.tar
mv Elconix_AS.Backup_Old1.tar Elconix_AS.Backup_Old2.tar
mv Elconix_AS.Backup.tar Elconix_AS.Backup_Old1.tar

# Backup Main Application Server
echo "Archive Applications Files...."
tar -cf Elconix_AS.tar /Elconix_AS /usr/local/Zend/apache2/conf /etc/crontab /etc/my.cnf # /media/storage/S7_files

echo ""
# Compress It!

echo "Compressing Applications Files!"
gzip -9 Elconix_AS.tar

echo "Dumping All databases and Reseting bin Logs"

echo "Dumping ALL DataBases"
mysqldump --single-transaction --all-databases --routines --triggers --events > MySQLDumb-`date +%Y%m%d`.sql

# Compress It!
echo ""
echo "Compressing DB Dump"
tar -cf DataBases_Dump.tar MySQLDumb-`date +%Y%m%d`.sql

gzip -9 DataBases_Dump.tar

echo ""

echo ""
echo "----------------------------------"
echo "Stopping MySQL DataBase for Backup"
echo ""
# Stop the DataBase
/etc/init.d/mysql stop

# Backup the DataBase

echo "Creating Archive of DB Data"
tar -cf MySQL_Data.tar /var/lib/mysql /Backup/DataBases_Dump.tar.gz

# Put Server Back Online
echo "Starting MySQL Back Online"
/etc/init.d/mysql start

echo ""

# Compress It!
echo ""
echo "Compressing DB Data"
gzip -9 MySQL_Data.tar

echo ""
# Unite One Backup
echo "Creating Final BackUp File!"
# tar -cvf Elconix_AS1.Backup_`date +%Y%m%d_%H%M%S`.tar Elconix_AS.tar.gz MySQL-5.0.27-Data.tar.gz
tar -cvf Elconix_AS.Backup.tar Elconix_AS.tar.gz MySQL_Data.tar.gz

echo ""
echo "Deleting Temporal Archives"
rm -rf /Backup/Elconix_AS.tar.gz
rm -rf /Backup/MySQL-Data.tar.gz
rm -rf /Backup/MySQLDumb-`date +%Y%m%d`.sql

echo "Back Up For Today is Done!"
exit

Configurando y Probando el Script de Respaldo

Una vez se cuenta con el script de respaldo instalado en la carpeta /root, procedemos a darle los permisos y probar su funcionamiento.

Para esto realizamos los siguientes comandos:

# cd /root/
# chmod 755 enx_BackupAll.sh

 

Una vez esto probamos el script ejecutandolo de la siguiente forma:

Importante: Puede tomar un tiempo para terminar todo el proceso de Respaldo, esto depende de la cantidad de datos y tipo de hardware.

# /root/enx_BackupAll.sh
Deleting Old Temporal Archive Files

Renaming Old Backups - Keeping 2 Old
Archive Applications Files....
tar: Removing leading `/' from member names
tar: /Elconix_AS/Applications/ERP/.gvfs: Cannot stat: Permission denied
tar: Exiting with failure status due to previous errors

Compressing Applications Files!
Dumping All databases and Reseting bin Logs
Dumping ALL DataBases
Compressing DB Dump
----------------------------------
Stopping MySQL DataBase for Backup

Shutting down MySQL...... done
Creating Archive of DB Data
tar: Removing leading `/' from member names
Starting MySQL Back Online
Starting MySQL... done
Compressing DB Data

Creating Final BackUp File!
Elconix_AS.tar.gz
MySQL_Data.tar.gz

Deleting Temporal Archives
Back Up For Today is Done!

 

Una vez esto ya podemos el backup fue generado, podemos proceder a revisar al detalle la copia de respaldo.

# ls -lh /Backup

 

Detalle de Archivos que componen el Respaldo

Dentro de un archivo de respaldo se debe encontrar los siguientes componentes:

  • Elconix_AS.tar.gz – Comprimido de todos los archivos de la Aplicación, contenidos en /Elconix_AS
  • MySQL_Data.tar.gz – Comprimido de todos los archivos de la Base de Datos.

Dentro de Elconix_AS.tar.gz contamos con los siguientes carpetas una vez descomprimidos:

  • Elconix_AS – Carpeta donde esta todas las aplicaciones.
  • etc – Carpeta donde esta archivos de configuración necesarios.
  • usr – carpeta donde esta la configuración del Apache Web Server.

Y en la el archivo MySQL_Data.tar.gz contiene:

  • var – Contiene los binarios de la base de datos.
  • Backup – Contiene el dump de la base de datos.

Estos son los componentes del respaldo de ELCONIX. Es suficiente para restaurar la ELCONIX S7.

 

Configurando Respaldo Automático (crontab)

Es importante notar que el script de respaldo ta hecho para realizar backups diarios y guarda los últimos 7 días de backup.

Para programar los respaldos de forma automática se debe proceder a programarlo en el proceso de crontab, el cual permite configurar procesos de forma automatizado.

Este proceso se configura en el archivo de configuración en /etc/crontab.

Para configurarlo solo basta colocarlo en:

#Backup
0 5 * * * root /root/enx_BackupAll.sh

Con esto es suficiente realizar el respaldo del mismo.

 

Ahora bien es importante tar claro que si es una recuperación ya existe en /etc del respaldo una copia del archivo crontab para poder restaurar todos los procesos automatizados de forma rápida.

Una vez instalado los archivos de ELCONIX S7, es importante instalar el script de backup.