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
[email protected]:/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
[email protected]:/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
[email protected]:/tmp
Copia el directorio /mnt/prueba y todo su contenido en el destino anterior
rsync -r /mnt/prueba
[email protected]:/tmp
otra forma de escribirlo es
rsync /mnt/prueba/
[email protected]:/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
[email protected]:/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:
[email protected]
Podrás encontrar este artículo e información adicional en:
http://bulmalug.net/body.phtml?nIdNoticia=1267
Comentarios de: Copia de archivos entre máquinas (0)
No hay comentarios