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]#


1 comentario:

  1. Hola Ronald.
    buen tip, hace algunos años me vi en la necesidad de hacer algo similar en linux....pero los usuarios no querian (mejor dicho querian todo transparente :) no shell) ellos querian algo como drag and drop y fijate que me encontre un protocolo en open suse llamado fish://ip-host y te pide el pwd del destino...y solo drag and drop y todo sobre ssh...por si alguien desea utilizarlo o se esta viendo en la misma situación en que yo me ví.
    Gracias.

    ResponderEliminar

Te agradezco tus comentarios. Te esperamos de vuelta.

Todos los Sábados a las 8:00PM

Optimismo para una vida Mejor

Optimismo para una vida Mejor
Noticias buenas que comentar