Copia de archivos entre máquinas
(30993 lectures)
Por Celso González
PerroVerd
(http://mitago.net)
Creado el 09/04/2002 18:09 modificado 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 |
Pagina1/1 |
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)
rsync -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
|
|
|
|
|
|
Comentarios Es posible que se hayan omitido algunos comentarios considerados poco constructivos
|
1. Re: Copia de archivos entre máquinas (09/04/2002 22:18, #5602) Por: r00z |
| Anda, otra cosa que ya sé ;-) |
|
2. Re: Copia de archivos entre máquinas (09/04/2002 22:36, #5603) Por: carcoco (http://carcoco.eresmas.com) |
Molt bo l'article, enhorabona! .Pero així i tot crec que es interesant indicar també com dur fitxers entre màquines gastant netcat, ssh y tar, està tot prou ben explicat en estos 2 correus:
http://bulma.net/pipermail/bulmailing/2002-February/012560.html
htt p ://bulma.net/pipermail/bulmailing/2002-February/012637.html
|
|
3. Re: Copia de archivos entre máquinas (09/04/2002 23:31, #5607) Por: jgomsi (http://obelix.umh.es) |
| A quien le interese el tema de "evitar que scp-ssh pida contraseña" le recomiendo que le eche un ojo al hilo generado alrededor de el siguiente correo en la Bulmailing:
http://bulma.net/pipermail/bulmailing/2002-February/thread.html#12483
Por cierto, ¿alguien tiene hago hecho o está trabajando en el tema de copias de seguridad con rsync? |
|
4. Re: Copia de archivos entre máquinas (20/12/2004 16:09, #24732) Por: Anònim |
| Me podrian enviar como puedo hacer para que el scp no me pida la contrasena y como se la puedo enviar ya sea en un script o de alguna forma, se los agradecere mucho. |
|
|
5. Re: Copia de archivos entre máquinas (10/04/2002 12:09, #5611) Por: carcoco (http://carcoco.eresmas.com) |
Afegir un parell d'enllaços sobre el rsync:
Rsync home page:
http://samba.anu.edu.au/rsync/
A Tutorial on Using rsync
http://ultra.litp ixel.com:82/rsync/rsync_content.html
|
|
6. Re: Copia de archivos entre máquinas (10/04/2002 12:27, #5612) Por: Beowulf (http://m3d.uib.es/~guillem/) |
Muy bueno :-D
Además hay que decir que se puede usar rsync
a través de ssh, por si queremos combinar las
ventajas (ejem, y los inconvenientes O;-)
de ambos...
Se hace pasando -e ssh al
rsync, pero hay que tener varias cosillas en cuenta,
hay muchas maneras de usar rsync y... bueno,
ver el man rsync para más información, yo solo
digo que es posible hacerlo
];-) |
|
|
|
7. Re: Copia de archivos entre máquinas (10/04/2002 19:49, #5616) Por: jgomsi (http://obelix.umh.es) |
Hola,
ya se que puede sonar a TMG (Tontería Muy Gorda - Beowulf dixit) pero yo indicaría claramente que para utilizar ambos métodos hay que tener configurado un servidor ssh o rsync en la máquina contra la que queremos trabajar. |
|
8. Re: Copia de archivos entre máquinas (11/04/2002 13:04, #5630) Por: El cobarde anónimo |
| Hola:
Otro ejemplo del uso del rsync que considero muy bueno es en los casos de tener máquinas dhcp/DNS de alta disponibilidad. Yo tengo un dhcp/DNS ( 486 32 Mb RAM y 600 Mb de HD ) dando servico a 150 Pcs. ahora montaré otra máquina igual para utilizarla de backup en caso de caída de la primera. Para sincronizar los cambios de DHCP y los eventuales de DNS utilizaré rsync cada 5 minutos para copiar las configuraciones del activo al 'dormido'. |
|
9. Enlace para debianitas (13/04/2002 20:19, #5672) Por: Celso |
| Un enlace muy interesante sobre rsync y debian que podemos encontrar aquí |
|
10. Re: Copia de archivos entre máquinas (20/02/2003 12:48, #12356) Por: seapot |
| Otro uso del rsync es para hacer copias de seguridad de tus archivos locales (si tienes dos discos duros o algo asi).Se hace de la siguiente manera: rsync -Cavuz /disk2/home /disk5/backup.
Para aprovechar el rsync es una buena idea meterlo en el crontab, de manera que se ejecute cada hora, por ejemplo. Como comprueba que los archivos han sido modificados antes de copiar, tampoco quita mucho tiempo, y merece la pena.
Tambien es buena idea poner --exclude="patron" para que no nos copie archivos temporales, de cache y similares. |
|
11. Re: Copia de archivos entre máquinas (21/04/2005 09:46, #26321) Por: Anónimo |
| jajajajajaja es una puta mierda vaya varas de los cojones y encima tenemos q agunatar en las clases |
|
12. Re: Copia de archivos entre máquinas (06/06/2005 22:11, #27009) Por: Anònim |
| hijo de puta, perkin reconchatumare, hijo e la come moco, flaite culiao |
|
13. Re: Copia de archivos entre máquinas (20/04/2006 16:31, #32088) Por: sle@an1 |
| Veo que el pastelito habla anonimamente, porque como flaite que es, y asaltante de micros, no lo puede hacer con su nombre.
Que cobarde, pero que mas se puede esperar de ese tipo de gente.
Ademas, este foro es de "Copia de archivos entre máquinas", no "Demuestre su imbecilidad" |
|
14. Re: Copia de archivos entre máquinas (27/11/2006 23:21, #36793) Por: Anónimo |
| PNWD |
|
|
|
|