Practica Script RSYNC
Deberemos disponer de dos maquinas que se encuentren en la misma red. Dichas máquinas deberán disponer de una IP estática o en su defecto deberán obtener una IP dinámica bajo DHCP de un servidor. Es preferible que las máquinas tengan distinto nombre para poder diferenciarlas, aunque no es obligatorio. Es recomendable disponer de salida a Internet en caso de tener que actualizar algún paquete o instalar alguna utilidad.
Comprobación
- >ifconfig → Tendremos que fijarnos que nuestras máquinas estan dentro del mismo rango de IP´s.
- >ping ip → Así comprobaremos que nuestras máquinas se pueden comunicar.
- >apt-get update → Es recomendable realizar una actualización por si hubiera paquetes desactualizados que pudieran darnos problemas.
Resolución del ejercicio
1. Deberemos generar una clave RSA privada y pública por máquina como método de autenticación:
2. Intercambiaremos claves públicas entre máquinas para poder realizar la comunicación correctamente:
3. Probaremos en ambas máquinas que al realizar una conexión SSH no nos pide una contraseña de tal forma que se autentica usando las claves:
4.En ambas máquinas crearemos un árbol de directorios todos con permisos 755 incluido el ejecutable. En dicho árbol tendremos que crear un documento el cual sera el ejecutable que lanzará las ordenes, y un directorio el cual sera el “archivo compartido” donde pondremos todos los documentos que queramos que se envíen, en mi caso lo creare en el HOME del usuario y tendrá la siguiente composición:
5. Dentro del ejecutable escribiremos el código necesario para la ejecución de la actividad:
6. Ahora iremos al crontab del usuario para “automatizar” la ejecución de este ejecutable de forma periódica, podremos elegir la frecuencia con la que ejecuta, como estamos probando lo pondremos cada minuto así veremos de forma casi instantánea que esta funcionando correctamente:
7. Añadiremos un archivo dentro de nuestro directorio compartido y revisaremos la otra máquina si se ha compartido con éxito. Adicionalmente si hemos creado un documento de LOG, podremos ver la fecha y la hora en la que se realizaron las copias:
Explicación del script:
-Creamos una variable “fechaD” en la cual almacenamos un formato de fecha.
-Escribimos el comando “rsync” con las opciones siguientes:
*a: activa una serie de opciones básicas predeterminadas
*v: incrementa la verbosidad
*z: comprime el fichero durante la transmisión
*u: omite los ficheros que son nuevos en el receptor
*q: suprime los mensajes de error
Después de las opciones ponemos la carpeta de la cual se van a transmitir los archivos, osea, la carpeta local de la máquina, seguido escribimos la ip de la máquina destino junto con la ruta a la carpeta remota de la máquina destino.
-Seguido escribimos una línea con “echo -e” en la que escribimos un mensaje e incluimos la variable “$fechaD” para que nos saque la fecha en la que se realiza el script. Esta línea la redirigimos a un fichero de LOG en nuestra máquina local.