InicioLinuxCopia de Seguridad y Sincronizacion Rsync

Copia de Seguridad y Sincronizacion Rsync

Linux7/6/2016
En el siguiente ejemplo puede ser usado como continuación del ejemplo expuesto anteriormente en Montaje de Automático de Recursos Compartidos.


En esta ocasión crearemos un script en bash que nos va a permitir:

Copiar Directorios de un servidor a otro.
Verificar si existen ficheros y/o directorios con mas de 7 dias de antiguedad y eliminarlos.
Crear directorios con la fecha actual del sistema.
Ademas vamos a agregar este script al /etc/crontab para que se ejecute diaramente a una hora dada.

Nuestro script va a estar ubicado en /usr/bin/ para poder ser llamado desde cualquier directorio del S.O, ademas de ser ejecutado como antes dijimos por el cron.

Para crear nuestro script utilizaremos en editor de texto desde linea de comando nano por su facilidad de uso y simplicidad.

[color=#000000] # touch respaldo.sh
    # nano respaldo.sh[/color]
(agregamos el código siguiente con las modificaciones necesarias para cada caso).


[color=#000000]#!/bin/bash
#init
#Agrega pausa en script hasta que se precione ENTER
function pause(){
read -p "$*"
}
# ...
# Llamada
pause 'Haciendo respaldo de pc1, Presione [ENTER]para continuar'
#Crea directorio con Fecha del día
#Respaldo pc1
#Respaldo pc2
#Respaldo pc3
mkdir /var/respaldo/pc1/$(date +%d_%m_%Y)
mkdir /var/respaldo/pc2/$(date +%d_%m_%Y)
mkdir /var/respaldo/pc3/$(date +%d_%m_%Y)
#Busca y elimina directorios y ficheros mayores de 7 dias
find /var/respaldo/pc1/* -mtime +7 -exec rm -rf {} ;
find /var/respaldo/pc2/* -mtime +7 -exec rm -rf {} ;
find /var/respaldo/pc3/* -mtime +7 -exec rm -rf {} ;
#Copia en los directorios antes creados con la fecha del día los respaldos correspondientes
cp -Ruv /conexiones/pc1/* /var/respaldo/pc1/$(date +%d_%m_%Y)
cp -Ruv /conexiones/pc1/* /var/respaldo/pc2/$(date +%d_%m_%Y)
cp -Ruv /conexiones/pc1/* /var/respaldo/pc3/$(date +%d_%m_%Y)
echo Todas las copias se realizaron con exito
# Script para realizar sincronizacion de 2 Servidores Linux mediantr rsync
pause 'Presione [ENTER] para continuar'
echo " Script para realizar sincronizacion de los Servidores"
echo " Esto puede demorar varios minutos"
#En el siguiente caso se sincronizará todo el directorio respaldo,
#el cual contiene los directorios pc1,pc2 y pc3
rsync -avz --delete --progress --recursive --rsh=/usr/bin/ss [email protected] :/var/respaldo/
[/color]



[color=#000000]#chmod 770 respaldo.sh[/color] (permisos de lectura, escritura y ejecución para el dueño y para el grupo y ningun permiso para el resto).

La última línea de nuestro script es un comando que ejecuta el programa rsync el cual nos permite mantener una copia exacta de nuestro directorio respaldado en otra computadora que se encuentre ejecutando un servidor ssh.

La opción -a: --archiva | Modo archivado: recursivo, copia enlaces, mantiene los permisos, la fecha de modificación, la información de grupos, propietarios y los archivos de dispositivos.
opción -v: Muestra información a través del terminal.
opción -z: Comprime archivos durante la transferencia.
opción --delete: Elimina archivos ajenos a la fuente de origen.
opción -r ó --recursive: Recursividad para todos los directorios.
opción --progress: Muestra una barra de progreso.
opción -rsh=command: Especifica la consola Shell a utilizar.
/var/respaldo/* Directorio origen.
[email protected] :/var/respaldo/: directorio destino con conexion SSH y usuario que se conecta.


Por último si lo deseamos agregamos una tarea en el crontab para que se ejecute en el horario y fecha que deseemos.

[color=#000000]#nano etc/crontab[/color]

Copia de Seguridad y Sincronizacion Rsync

Con CTRL + O guardamos y salimos con CTRL + X.

La tarea será ejecutada todos los días, todos los meses siempre a las 10:00 por el usuario root.

El artículo es de mi autoria y/o fuentes consultadas, el cual puede ser usado libremente, siempre y cuando se haga referencia a la fuente
La intension de este post no es ganar puntos(aunque alguno que le sobre no esta de mas), la intension es compartir el conocimiento y que pueda ser util a otros que como yo usamos este sistema operativo.
Datos archivados del Taringa! original
0puntos
23visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
3visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

L
LeunamZevach🇦🇷
Usuario
Puntos0
Posts3
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.