PDF de programación - Copia de archivos entre máquinas

Imágen de pdf Copia de archivos entre máquinas

Copia de archivos entre máquinasgráfica de visualizaciones

Actualizado el 22 de Febrero del 2020 (Publicado el 10 de Abril del 2017)
337 visualizaciones desde el 10 de Abril del 2017
32,8 KB
3 paginas
Creado hace 17a (09/04/2002)
Bisoños Usuarios de Linux de Mallorca y Alrededores | Bergantells Usuaris de Linux de Mallorca i

Afegitons

Copia de archivos entre máquinas

Por Celso González , PerroVerd ()
Creado el 09/04/2002 18:09 y modificado por última vez el 09/04/2002 18:09

Con Linux podemos copiar archivos entre máquinas conectadas, ya sea en una red local o en Internet, sin
necesidad de configurar un servidor de NFS o Samba. En este truco explico brevemente como usar 2
instrucciones que nos pueden facilitar la vida: scp y rsync

Estas dos utilidades vienen en cualquier distribución de linux y ambas funcionan usando ssh

scp

scp es un reemplazo del rcp, sus ventajas son que permite un nivel de seguridad mayor (ssh vs telnet) y que
permite compresión de datos. La sintáxis de scp es muy sencilla

scp fichero_origen [otros_ficheros_a_copiar] fichero_destino

Es la misma que la del cp normal, ¿dónde está el truco? La gracia está en la forma de escribir los nombres de
los ficheros, un nombre de fichero tiene la siguiente estructura:
[usuario@][maquina_remota:][directorio]nombre_del_fichero
Veamos ahora algún ejemplo:

Copiar el archivo local prueba en el directorio /tmp de la maquina test.bulma.net
scp prueba test.bulma.net:/tmp

Si la conexión es lenta y lo que trasmitimos es fácilmente comprimible podemos usar la opción -C
Copia un archivo texto.txt en el directorio /tmp de test.bulma.net usando el usuario pepe
scp -C texto.txt pepe@test.bulma.net:/tmp

También podemos usarlo para copiar directorios de forma recursiva con la opción -r
Copia el directorio /mnt/prueba y todo su contenido en el destino anterior
scp -r /mnt/prueba pepe@test.bulma.net:/tmp

rsync

rsync está diseñado para mantener sincronizados archivos y directorios ubicados en diferentes máquinas
usando el mínimo de ancho de banda, aunque aumentamos el consumo de cpu en las dos máquinas implicadas
en la transferencia. La idea a "grosso modo" es dividir el fichero en bloques, hacer una serie de operaciones
con estos bloques (tipo md5) y comprobar las diferencias, en caso de que existan diferencias sólo se trasmiten
estas. Un ejemplo de uso bastante práctico es cuando bajamos una imagen iso y al comprobar el checksum no
nos coincide, en vez de volver a bajar la imagen completa nos conectamos al servidor rsync y "sincronizamos"
nuestra imagen iso con la del servidor, más o menos en unos 20 minutos está hecho :) rsync es bastante más
completo y complejo que scp y aquí sólo vamos a ver un par de ejemplos sencillos.

Copiar el archivo local prueba en el directorio /tmp de la maquina test.bulma.net
rsync prueba test.bulma.net:/tmp

Copia un archivo texto.txt en el directorio /tmp de test.bulma.net usando el usuario pepe y compresión de
datos (opción -z)
scp -z texto.txt pepe@test.bulma.net:/tmp

Copia el directorio /mnt/prueba y todo su contenido en el destino anterior
rsync -r /mnt/prueba pepe@test.bulma.net:/tmp

otra forma de escribirlo es
rsync /mnt/prueba/ pepe@test.bulma.net:/tmp

Mucho ojo, he escrito /mnt/prueba/ con / al final, si hubiese utilizado /mnt/prueba sólo habría copiado el
directorio /mnt/prueba

rsync es muy práctico para realizar copias de seguridad, este comando realiza la copia del directorio local
/home en la máquina copias.bulma.net usando el usuario backups, la opción --delete indica que los ficheros
existentes en la copia que no estén en el original serán borrados, mucho ojo al usar esta opción, os
recomiendo probar las opciones -n (modo simulado) y -v (o -vv verbose) antes de ejecutar el comando de
forma definitiva.
La opción -a inidica que preserve los enlaces simbólicos y demás ficheros "extraños"
rsync -arzvv --delete /home backups@copias.bulma.net:/var/spool/copias

Últimas consideraciones, el uso de scp es mucho más rápido si no existen los ficheros que tenemos que
copiar o si estos tienen un porcentaje de cambios muy elevado. Para evitar que nos pida el password cada vez
podemos usar el programa ssh-agent o bien indicar un fichero de claves con la opcion -i en el caso de scp

E-mail del autor: celso@oficinalinux.org
Podrás encontrar este artículo e información adicional en:
http://bulmalug.net/body.phtml?nIdNoticia=1267
  • Links de descarga
http://lwp-l.com/pdf2706

Comentarios de: Copia de archivos entre máquinas (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad