martes, 13 de agosto de 2013

Respaldos automáticos


Pasos para hacer un respaldo automático:


  1. Crear archivo bd.sh y archivos.sh e insertar comandos para ejecutar los respaldos.
  2. Añadir las tareas al cron usando crontab -e indicando la fecha en que se harán.

Código para el archivo bd.sh

#Código Base de Datos bd.sh
mysqldump --opt -u [user] -p[pass] --add-drop-table [name_base_datos] >[nombre_respaldo_BD]`date +%Y-%m-%d_%H-%M`.sql


Se entiende que en [user] va el nombre de usuario de tu base de datos, en [pass] la contraseña para acceder a tu base de datos y en [name_base_datos] el nombre de la base de datos que quieres respaldar. Finalmente en [nombre_respaldo_BD] el nombre del archivo que se generará.

Código para el archivo archivo.sh

#Código Archivos archivos.sh
tar -czvf [nombre_respaldo_BD]`date +%Y-%m-%d_%H-%M`.tar.gz [ubicación_para_guardar] -R


Se entiende que en [nombre_respaldo_BD] va el nombre del archivo generado y en [ubicación_para_guardar] la carpeta de destino.

Código para insertar en el cron

Escribimos el comando contrab -e y en el archivo que se abre insertamos el siguiente código:
#Código crontab
15 1 * * 6 bd.sh           // se ejecuta todos los sábados a las 01:15 am
16 1 * * 6 archivos.sh // se ejecuta todos los sábados a las 01:16 am

Cada * indica exactamente el periodo en que se programa la tarea y se ordena del siguiente modo:
Minuto  Hora  DiaDelMes  Mes  DiaDeLaSemana

Por ejemplo el primer * indica minutos, si le escribo un 5, la tarea se ejecutara cada 5 minutos.
01   *   *   *   *  La tarea se ejecutará cada 1 minuto siempre.
01 02   *   *   *  La tarea se ejecutará cada día a las 02:01 am
01 02 03   *   *  La tarea se ejecutará el tercer día (03) de cada mes a las 02:01 am.
01 02 03 04   *  La tarea se ejecutará cada año el 03 de abril (04) a las 02:01 am.
01 02 03 04 05  La tarea se ejecutara cada vez viernes cuya fecha sea 03 de abril a las 02:01 am

Saludos :)