domingo, 4 de marzo de 2018

SCRIPT RSYNC

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

Para comprobar que todo esta en el estado deseado ejecutaremos una serie de comandos mediante los cuales obtendremos información del estado de ambas máquinas.
  • >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.

NFS (CONFIGURACIÓN E INSTALACIÓN)


NFS Linux-Linux

Para realizar esta practica usaremos dos máquinas Ubuntu Desktop 17.10, las cuales están en su versión más actualizada.

1- Tendremos que abrir una terminal e instalar el servicio NFS mediante el siguiente comando:




2- Una vez terminada la instalación tendremos que reiniciar el servicio con el siguiente comando:




3- Creamos una carpeta en la raíz de nuestra máquina, la cual asignaremos todos los permisos (777) para hacer una prueba, después pondremos los permisos 660, también cambiaremos el dueño de dicha carpeta y el grupo al usuario ‘nobody’ y ‘nogroup’, todo esto lo hacemos con los siguientes comandos:







4- Ahora creamos un fichero dentro de la carpeta que vamos a compartir para que a la hora de compartir el fichero se vea que funciona correctamente.





5- Vamos al fichero de configuración de NFS y añadimos la siguiente linea que corresponde al fichero que vamos a compartir y que se puede hacer con este:





6- Reiniciamos el servicio de nuevo para que se apliquen los cambios del fichero de configuración:




7- Vamos a nuestro cliente y creamos una carpeta en la raíz, esta será donde se muestren los archivos compartidos por el servidor:




8- Desde el cliente montamos el archivo compartido del servidor en el directorio que hemos creado en el cliente:





(Como vemos los permisos, dueño y grupos siguen igual que en el servidor)
9- Para no tener que montar los ficheros cada vez que iniciemos vamos al fstab y añadimos una línea:






NFS Windows-Linux


Para realizar esta práctica usaremos una máquina Ubuntu 17.10 y otra máquina Windows Server 2012.

1- En la máquina Windows Server 2012 intslaremos el servicio NFS:




2- Abriremos un terminal e iniciaremos el servicio NFS:




3- Ahora usando la misma máquina Linux que usamos como servidor en la practica anterior, nos conectaremos al recurso y lo montaremos en nuestro sistema que se encuentra compartida en esta:




4- Vamos a equipo y vemos que hay una nueva conexión, entramos dentro y verificamos que se encuentra el fichero que creamos: