Script para automatizar las copias de respaldo

Compartimos con Uds. un script elaborado por uno de nuestros lectores para realizar copias de respaldo en forma automática. Una oportunidad más para aprender a usar el terminal y desarrollar scripts personalizados. 🙂

Este es un aporte de Daniel Durante, convirtiéndose así en uno de los ganadores de nuestra competencia semanal: «Compartí lo que sabés sobre Linux«. ¡Felicitaciones Daniel!

Funcionalidad

  • Realizar copias de seguridad mediante el comando rsync.
  • Utiliza un script para bash.
  • La versión actual sólo permite el uso de forma local.

Requerimientos e Instalación

Para el funcionamiento del script se requiere que el sistema disponga de la aplicación gdialog.

No requiere instalación, simplemente situar el script en el directorio $HOME/.copias/. Este parámetro se localiza en la variable directorio_script y puede ser cambiado.

Selección de los directorios de origen y destino de la copia

En la versión actual se especifican editando el script copias.sh. El formato empleado hace uso de las opciones -acv y –delete.

Por ejemplo:

rsync -acv --delete $directorio_usuario'directorio_a_respaldar' $directorio_destino

donde sustituiremos directorio_a_respaldar por el nombre del directorio deseado.

A la variable  $directorio_usuario le es asignado valor en el script.

A la variable $directorio_destino se le asigna el valor leído en copias.cfg

Archivo de configuración

El archivo de configuración se llama copias.cfg y está situado en el directorio $HOME/.copias/

Estructura del archivo de configuración

La segunda línea especifica el destino de la copia de seguridad:

#Destino
/media/Iomega_HDD/

Archivos Accesorios

El archivo de script copias_ini.sh verifica si se han realizado copìas de seguridad con un intervalo de periodicidad. Actualmente no existe en el archivo de configuración ningún parámetro para especificar esta, que se establece en el mismo script diariamente.

Automatizar el proceso de copia de respaldo (backup)

1.- Poner en cron con el comando crontab -e de una forma similar a la siguiente:

# m h  dom mon dow   command
0 20 * * * DISPLAY=»:0″ /home/usuario/.copias/copias.sh

En este ejemplo se lanzaría la ejecución del script a las 20:00 horas de cada día

2.- Añadir a los programas a ejecutar al inicio el script copias_ini.sh indicando la ruta completa al mismo


4 comentarios, deja el tuyo

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   Daniel Coca dijo

    Lo bueno de Deja Dup es que tiene encriptación para guardar los archivos, es muy bueno, pero a este script le puede agregar eso con gnupg + split y queda casi igual.

    Buen artículo muchachos.

  2.   Usemos Linux dijo

    Claro… para los que quieran usar una interfaz gráfica…
    Otros prefieren hacerlo «a la vieja usanza»
    Saludos! Pablo.

    2012/11/30 Disqus

  3.   Eduardox123 dijo

    Es más fácil Deja-Dup

  4.   MiguelH dijo

    Hola, y si quiero hacer el backup en PC conectada en la misma red. ¿Cómo pondría el destino en el archivo de configuración?