Tengo dos servidores Uno de ellos tiene 15 millones de archivos de texto (aproximadamente 40 GB). Estoy tratando de transferirlos a otro servidor. Pensé en comprimirlos y transferir el archivo, pero me di cuenta de que no era una buena idea.
Entonces usé el siguiente comando:
scp -r usrname@ip-address:/var/www/html/txt /var/www/html/txt
Pero noté que este comando solo transfiere alrededor de 50,000 archivos y luego se pierde la conexión.
¿Hay alguna solución mejor que me permita transferir la colección completa de archivos? Me refiero a usar algo como rsync
transferir los archivos que no se transfirieron cuando se perdió la conexión. Cuando ocurriera otra interrupción de la conexión, volvería a escribir el comando para transferir archivos, ignorando los que ya se han transferido con éxito.
Esto no es posible con scp
, porque siempre comienza desde el primer archivo.
fuente
-h
bandera para usar unidades legibles por humanos. Y si quieres más verbosidad, tienes algunas opciones:-i
y / o-v
/-vv
.ssh
no es una opción para usted y no necesita o desea el cifrado, puede probar mi script s3.amazonaws.com/skaperen/rsend¡Solo use rsync sobre ssh!
rsync -av username@ip:/var/www/html/txt /var/www/html/
Tenga en cuenta cómo utilicé barras al final de las carpetas: es importante .
fuente
rsync
página del manual: "Una barra inclinada final en el origen cambia este comportamiento para evitar crear un nivel de directorio adicional en el destino. Puede pensar en un final / en una fuente que significa" copiar el contenido de este directorio "en lugar de" copie el directorio por nombre ", pero en ambos casos los atributos del directorio contenedor se transfieren al directorio contenedor en el destino".-av
?Use lftp, es mucho más rápido que rsync y es mejor para duplicar sitios web (muchos archivos pequeños). También puede transferir en paralelo usando múltiples conexiones:
Si se rompe una conexión, se volverá a conectar y continuará. Si interrumpe la transferencia, omitirá los archivos existentes y continuará.
http://lftp.yar.ru/
fuente
Otra forma es canalizando un archivo tar (opcionalmente comprimido) sobre ssh:
fuente