Tengo unos 200,000 archivos que estoy transfiriendo a un nuevo servidor hoy. No he hecho nada a gran escala antes, y quería obtener algunos consejos sobre cómo debería hacerlo. Los estoy moviendo entre dos distribuciones de Centos 6, y están en diferentes lugares del país. No tengo suficiente espacio en el disco duro en el servidor original para almacenar todos los directorios y archivos en un tarball masivo, así que mi pregunta es ¿cómo debo transferir todos estos archivos? rsync? alguna forma especial de usar rsync? Cualquier aportación / sugerencia sobre cómo hacerlo sería increíble.
Gracias
EDITAR: Para aquellos que se preguntan, recomiendo encarecidamente usar un screen
cuando se ejecuta un rsync
comando grande como este. Especialmente cuando puede ocurrir algo tonto y pierde la conexión con el servidor A desde el que ejecuta el rsync
comando. Luego simplemente separe la pantalla y reanudela más tarde.
fuente
rsync
? ¿Quizás en un pequeño conjunto de archivos más o menos? Debería ser la herramienta ideal para eso.tar cz | ssh [email protected] tar xz
rsync
para actualizaciones posteriores): "Nunca subestimes el ancho de banda de una camioneta llena de cintas" (es decir, ¿has considerado colocar un segundo hd (o conecta un usb2) / usb3 disk), hacer una copia de seguridad y enviarlo a través de fedex a la ubicación remota? Podría ser MUCHO más rápido que cualquier otra cosa y ahorrar ancho de banda para otros usos.Respuestas:
Solo para dar cuerpo a la respuesta de Simon ,
rsync
es la herramienta perfecta para el trabajo:Suponiendo que tiene acceso ssh a la máquina remota, desearía hacer algo como esto:
Esto copia el directorio
path/to/local/foo
a/path/to/remote/bar
en el servidor remoto. Sebar/foo
creará un nuevo subdirectorio llamado . Si solo desea copiar el contenido de un directorio, sin crear un directorio con ese nombre en el destino, agregue una barra diagonal final:Esto copiará el contenido de
foo/
en el directorio remotobar/
.Algunas opciones relevantes:
fuente
rsync -hrtplu --progress
Entonces, ¿ qué podría hacer si quisiera ver el progreso a medida que avanza?rsync --progress --stats -hrtl --update source destination
.rsync -hrtplu --progress --rsh='ssh -p2202'
es lo que estoy usando y no se puede conectar. Sigue recibiendo 255 error. Pero estoy metido en eso. Entonces sé que no es el firewall ... ¿necesito proporcionar la contraseña a través del cmd también? o no me lo pediría después?Depende de qué tan rápido se deba copiar y cuánto ancho de banda esté disponible.
Para una conexión de red deficiente, considere el ancho de banda de un camión lleno de cintas. (Lea: envíe un disco duro de 2,5 pulgadas, o simplemente conduzca allí usted mismo. Las unidades de 300 gigabits deberían ser fáciles de encontrar).
Si necesita menos tiempo o tiene mucho ancho de banda, entonces rsync es excelente. Si hay un error, puede continuar sin volver a copiar los archivos anteriores.
[Editar] Olvidé agregar que puedes ejecutar rsync varias veces si tus datos se usan durante la copia.
Ejemplo:
1) Datos en uso. Rsync -> Todos los datos se copian. Esto puede tomar algo de tiempo.
2) Ejecute rsync nuevamente, solo se copian los archivos modificados. Esto debería ser rápido.
Puede hacerlo varias veces hasta que no haya cambios, o puede hacerlo de manera inteligente / segura haciendo que los datos sean de solo lectura durante la copia. (p. ej., si está en un conjunto compartido usado que comparte en solo lectura. O sincronice los datos, luego establezca el compartimiento en solo lectura mientras lo ejecuta por segunda vez).
fuente
Yo iría por rsync! Lo estoy usando para hacer una copia de seguridad de mi servidor en un servidor externo y funciona bien. Por lo general, hay unos pocos MB para copiar, pero algunos días sube a 20-30 GB y siempre funcionó sin problemas.
fuente
rsync a través de NFS usando una conexión Gigabit tomará casi 10 horas Será mejor copiar datos en el disco duro y moverlos entre el servidor. Si necesita hacer una copia uno a uno del disco, use dd o algo así para crear una imagen sin formato del disco. El uso de ssh (scp) causa una gran sobrecarga. Probado empíricamente en conexión Gigabit. rsync es bueno para realizar una sincronización incremental entre dos servidores utilizados en HA o en modo de copia de seguridad. Supongo.
fuente
will took nearly about 10h. It will be better to copy data on HDD and move them between server.
excepto que está en todo el país, por lo que llevaría más tiempo.use NFS por primera vez y tar / untar (NFS es el protocolo más rápido en este caso, tar para ahorrar ancho de banda de red al utilizar más la CPU)
la próxima vez que use rsync
fuente
tar -cf - * | gzip | nc -p 4567
ync -l 4567 | gunzip | tar xf -
.