miércoles, 23 de septiembre de 2009

Respaldando archivos de una máquina a otra en Linux con tar y ssh de una manera poco común

Partiendo del punto, en que tenemos ya configurado nuestros equipos, racdb1 y racdb2, para poder ejecutar un "remote shell" entre ellos, se nos presenta que deseamos copiar el contenido de un directorio a otro directorio en un equipo remoto, pero queremos hacerlo de una manera inteligente.

Es más, que pasa si lo que tenemos, es un respaldo en cinta de un equipo y lo tenemos espacio para bajarlo localmente en dicho equipo y lo queremos pasar a otro servidor con espacio, sin tener que montar localmente, el sistema de archivos del equipo remoto.?

Aquí les va la solucción.

Para la prueba, vamos a crear un directorio con el nombre de respaldo en la máquina destino, en donde queremos hacer la copia.

[root@racdb2 ~]# mkdir respaldo

Verificamos que no existe contenido en el directorio creado.

[root@racdb2 respaldo]# pwd
/root/respaldo
[root@racdb2 respaldo]# ls -la
total 12
drwxr-xr-x 2 root root 4096 Sep 23 18:00 .
drwxr-x--- 20 root root 4096 Sep 23 17:58 ..
[root@racdb2 respaldo]#

Verificamos la funcionalidad del comando rsh ( remote shell ) en el equipo en donde deseo hacer la copia.

[root@racdb1 ~]# rsh racdb2 ls -la /root/respaldo/*

Tenemos un grupo de archivos empacados con formato "gz" en la máquina local, que son los que deseamos trasladar al equipo remoto.

[root@racdb1 ~]# ls -la mont*
-rwx------ 1 root root 114 May 20 18:22 montar_dvd.gz
-rwx------ 1 root root 140 Jul 27 11:20 montar_srv_backup.sh.gz


Ahora si, utilizamos la siguiente sintáxis, con el comando tar y el comando rsh.



El signo de "pipe line" es el generalmente se obtiene con la tecla ALT GR en el lado izquierdo del teclado y la tecla del número 1 sobre el teclado númerico.
Explicación:

Tome los archivos que inician con el prefijo "montar", más cualquier otra cosa, que se encuentran en el directorio actual, concatené el comando "tar" en el equipo local con el "rsh" remoto y le pedimos que se coloque en el directorio /root/respaldo y que lo obtenido con el comando "tar" del primer parámetro, sea descargado en la ruta, en donde previamente me he cambiado con el comando "cd" en el equipo remoto.

Resultado: Los archivos han sido copiados al equipo remoto en el directorio propuesto.

[root@racdb1 ~]# ssh racdb2
Last login: Wed Sep 23 17:59:12 2009 from racdb1.lab.com

[root@racdb2 ~]# cd respaldo

[root@racdb2 respaldo]# ls -la
total 20
drwxr-xr-x 2 root root 4096 Sep 23 18:01 .
drwxr-x--- 20 root root 4096 Sep 23 17:58 ..
-rwx------ 1 root root 114 May 20 18:22 montar_dvd.gz
-rwx------ 1 root root 140 Jul 27 11:20 montar_srv_backup.sh.gz
[root@racdb2 respaldo]#


No hay comentarios:

Publicar un comentario

Te agradezco tus comentarios. Te esperamos de vuelta.

Todos los Sábados a las 8:00PM