El que tiene una página web conoce perfectamente la importancia de tener una copia de seguridad de sus archivos a buen recaudo. Actualmente, la mayoría de los servicios de hosting disponen de sus propias herramientas para realizar estos backups pero necesitan de una intervención manual para llevar a cabo esta tarea.

En este manual vamos a aprender cómo realizar backups completos de nuestras bases de datos y de nuestros archivos automáticamente programándolos para que se realicen cada cierto tiempo, por ejemplo, cada semana.

cronAntes de comenzar con este manual, debemos saber si nuestro servicio de alojamiento dispone de cron. Cron es un administrador de procesos capaz de ejecutar tareas o procesos cada cierto tiempo. Los usuarios unix se habrán topado alguna vez con este daemon. El equivalente de cron para usuarios de Windows es el conocido "Tareas programadas".

Vamos a centrarnos en el panel de control cPanel ya que es muy conocido. Si no dispones de cPanel en tu alojamiento web seguro que tendrás un icono desde donde podrás acceder a cron.

mn_cron_cpanel

Accedemos a cron desde nuestro cPanel.


mn_standard

Entramos por el modo Standard.


mn_opciones

De un simple vistazo podemos intuir para qué sirve cada elemento del formulario: una línea donde introducir el comando a ejecutar y una serie de selecciones para indicar la frecuencia de ejecución.


Backup de las bases de datos.

En primer lugar vamos a ocuparnos de las bases de datos y para ello tenemos el siguiente comando:

mysqldump --opt --user=xxxxx --password=yyyyyy zzzzz | gzip > /ruta/zzzzz_`date +"\%Y-\%m-\%d"`.sql.gz

Analicemos el comando y sus parámetros para saber cómo funciona.

Mysqldump es el comando que realizará el backup.
--opt establece una serie de opciones para permitir un backup seguro y efectivo.
--user xxxxx: donde xxxxx será nuestro nombre de usuario de MySQL.
--password yyyyy: donde yyyyy será la contraseña del usuario de MySQL.
zzzzz será el nombre de la base de datos a respaldar.
gzip comprimirá la salida de mysqldump.
/ruta/zzzzz_`date +"\%Y-\%m-\%d"`.sql.gz será el lugar se almacenará nuestra base de datos respaldada. Conviene indicar un lugar fuera del directorio público para tener nuestros datos a buen recaudo y fuera del alcance de terceras personas. Podemos crear un directorio para tal efecto por ejemplo en /home/usuario/backup.

Presta especial atención al caracter ` (tilde invertida) situada a la derecha de la tecla P de tu teclado (teclado español internacional). date +%F mostrará la fecha actual en formato año-mes-día.

Ahora sólo queda que escribas la línea anterior y sustituyas xxxxx, yyyyy, zzzzz y ruta según sea tu caso.

Respecto a la frecuencia de ejecución de cron hay que ser responsable y no abusar de ello ya que repercute sobre los recursos del servidor. Una copia de seguridad cada semana en general, o cada 3 días si actualizas bastante tu web, es más que suficiente.

Puedes registrar tantas tareas como bases de datos tengas. Pero recuerda que estos backups se irán acumulando en tu directorio /home/usuario/backup por lo que deberás ir borrando los más antiguos o ir descargándolos a tu ordenador.

Backups de los datos.

Para realizar una copia de seguridad de tus datos emplearemos el mismo método pero cambiando el comando:

tar czvf /ruta/backup_`date +"\%Y-\%m-\%d"`.tar.gz /ruta/public_html/*

tar czvf comprimirá los archivos.
/ruta/backup_`date +"\%Y-\%m-\%d"`.tar.gz la ubicación del archivo comprimido. También podríamos almacenarlo en el mismo directorio que en el caso anterior /home/usuario/backup fuera del directorio público.
/ruta/public_html/* los archivos a respaldar.

Al igual que con las bases de datos, la frecuencia de respaldo debe ir acorde a las actualizaciones que realicemos en nuestra web para no sobrecargar nuestros servidores y evitar así que los administradores del hosting puedan llamarnos la atención.

Para realizar estas tareas de una forma equilibrada, sería interesante que especificásemos las frecuencias de forma escalonada. Por ejemplo, la primera tarea a las 0 horas, la segunda tarea a las 1 horas y así sucesivamente para que no se solapen todas las tareas a la vez.

Cron es una herramienta muy flexible y puede darnos mucho juego. Si tienes experiencia con php, puedes crear un script para automatizar que no sólo se realicen las copias de seguridad, sino que además puedas recibirlas en tu correo electrónico y no preocuparte sobre el espacio que ocupan las copias de seguridad en tu espacio web. Otra opción posible es enviarla a otro servidor FTP. En fin, posibilidades hay muchas, tal vez podamos dejarlo para otro manual.

Si tienes alguna duda referente a este tema plantéala en el foro de bitplanet.

Sígueme

Suscríbete

Recibe todas las novedades en tu correo

copyright © bitplanet.es 2017

Todos los derechos reservados salvo contenidos que apliquen su propia licencia

aviso legal | política de privacidad | política sobre cookies