¿Cuál es la mejor manera de copiar un directorio (con subdirectorios y archivos) de un servidor Linux remoto a otro servidor Linux remoto? Me he conectado a ambos usando un cliente SSH (como Putty). Tengo acceso de root a ambos.Servidor Linux remoto para copia remota del directorio del servidor Linux. ¿Cómo?
Respuesta
rsync -avlzp/ruta/a/carpeta [email protected]:/ruta/a/carpeta remota/
Salida scp o rsync, man scp
man rsync
scp file1 file2 dir3 [email protected]:path
uso rsync para que pueda continuar si la conexión se rompe. Y si algo cambia, ¡también puedes copiarlos mucho más rápido!
Rsync funciona con SSH para que su operación de copia sea segura.
scp -r <directory> <username>@<targethost>:<targetdir>
Bueno, la respuesta rápida sería a echar un vistazo a la página de manual 'scp', o tal vez rsync - dependiendo exactamente de lo que necesita para copiar. Si tuvieran que, incluso se podría hacer tar-sobre-ssh:
tar cvf - | ssh server tar xf -
Si la ruta es diferente en el extremo remoto, entonces: (cd $ path; tar xf -) –
Conectarse a una máquina
$ scp -r/ruta/a/arriba de usuario @ servidor/directorio:/ruta/a/copiar
Como usuario no root idealmente:
scp -r src $ host: $ ruta
Si ALR Ya disponible parte del contenido en $ host considera usar rsync con ssh como un túnel.
/Allan
Hay dos maneras que suelo hacer esto, tanto el uso de ssh:
scp -r sourcedir/ [email protected]:/dest/dir/
o, el método más robusto y más rápido (en términos de velocidad de transferencia):
rsync -auv -e ssh --progress sourcedir/ [email protected]:/dest/dir/
Lea las páginas man para cada comando si desea obtener más información sobre cómo funcionan.
agregue '-L' para seguir los enlaces simbólicos y cópialos como directorios regulares. Este enlace tiene muchos ejemplos útiles: http://www.tecmint.com/rsync-local-remote-file-synchronization-commands/ – Adrian
Pruebe unison si la tarea es recurrente. http://www.cis.upenn.edu/~bcpierce/unison/
Creo que se puede tratar con:
rsync -azvu -e ssh [email protected]:/directory/ [email protected]:/directory2/
(y supongo que usted está en host0 y que desea copiar desde host1 a host2 directamente)
Si lo anterior no funciona, usted podría intentar:
ssh [email protected] "/usr/bin/rsync -azvu -e ssh /directory/ [email protected]:/directory2/"
en el presente, que funcionaría, si ya ha configurado sin contraseña de inicio de sesión SSH desde host1 a host2
He utilizado rdiffbackup http://www.nongnu.org/rdiff-backup/index.html porque hace todo lo que necesita sin ninguna opción de lujo. Está basado en el algoritmo rsync. Si solo necesita copiar una vez, puede eliminar el directorio rdiff-backup-data en el host de destino.
rdiff-backup [email protected]::/source-dir [email protected]::/dest-dir
del doc:
rdiff-copia de seguridad también conserva subdirectorios, enlaces duros, archivos dev, permisos, la propiedad de UID/GID, tiempos de modificación, extendida atributos, ACL y fuentes de recursos.
que es una ventaja para las propuestas SCP -p como la opción -p no conserva todos los derechos (por ejemplo, en los directorios se establecen mal)
instalar en ubuntu:
sudo apt-get install rdiff-backup
Si usted es serio acerca de querer una copia exacta, probablemente también quiera usar el modificador -p para scp, si lo está usando. He encontrado que la SCP lee desde dispositivos, y he tenido problemas con cpio, así que personalmente siempre usar alquitrán, así:
cd /origin; find . -xdev -depth -not -path ./lost+found -print0 \
| tar --create --atime-preserve=system --null --files-from=- --format=posix \
--no-recursion --sparse | ssh targethost 'cd /target; tar --extract \
--overwrite --preserve-permissions --sparse'
guardo este encantamiento alrededor en un archivo con varios otros medios para copiar archivos. Este es para copiar sobre SSH; los otros son para copiar a un archivo comprimido, para copiar dentro de la misma computadora y para copiar sobre un socket TCP no cifrado cuando SSH es demasiado lento.
scp como se mencionó anteriormente es generalmente una mejor manera, pero no se olvide de los dos puntos en el directorio remoto especificaciones de lo contrario obtendrá una copia del directorio de origen en la máquina local.
Me gusta pasar tar a través de ssh.
tar cf - [directorio] | ssh [nombre de usuario] @ [nombre de host] tar xf - -C [destino en el cuadro remoto]
Este método le ofrece muchas opciones. Como debe tener root ssh deshabilitado, copiar archivos para varias cuentas de usuario es difícil ya que está iniciando sesión en el servidor remoto como un usuario normal. Para evitar esto, puede crear un archivo tar en el cuadro remoto que aún se mantenga y que preserve la propiedad.
tar cf - [directorio] | ssh [username] @ [hostname] "cat> output.alquitrán"
para conexiones lentas se pueden agregar compresión, z para gzip o bzip2 para j
alquitrán CJF - [directorio] |. ssh [nombre de usuario] @ [nombre de host] "cat> output.tar.bz2"
alquitrán czf - [directorio] | ssh [nombre de usuario] @ [nombre de host] "cat> output.tar.gz"
alquitrán czf - [directorio] | ssh [nombre de usuario] @ [nombre de host] tar xzf - -C [destino en el cuadro remoto]
scp hará el trabajo, pero hay una arruga: la conexión a la segunda r emote destination usará la configuración en el primer destino remoto, por lo que si usa .ssh/config en el entorno local y espera que las claves rsa y dsa funcionen, debe reenviar su agente al primer host remoto.
Me modificar una respuesta sugerido anteriormente:
rsync -avlzp /path/to/sfolder [email protected]:/path/to/remote/dfolder
de la siguiente manera:
-a (de archivo) implica -rlptgoD lo por lo que la L y P anterior son superfluas. También me gusta incluir -H, que copia enlaces duros. No es parte de -a por defecto porque es caro. Así que ahora tenemos esto:
rsync -aHvz /path/to/sfolder [email protected]:/path/to/remote/dfolder
También debe tener cuidado con las barras al final. Es posible que desee
rsync -aHvz /path/to/sfolder/ [email protected]:/path/to/remote/dfolder
si el deseo es que el contenido de la fuente "sfolder" a aparecer en el "dfolder" destino. Sin la barra al final, se crearía un subdirectorio "sfolder" en el destino "dfolder".
Esta respuesta merece más votos positivos y debería ser la aceptada. Lo único que se debe agregar es '--progress' si te gusta. – sjas
- 1. Servidor web para probar en Linux
- 2. GDB con ECLIPSE GUI a través del servidor remoto?
- 3. Conexión remota del servidor PHP/Apache a Quickbooks/Windows
- 4. Archivo de copia segura del servidor remoto a través del módulo scp y os en Python
- 5. ¿Dónde está el directorio raíz del servidor web en Angstrom Linux (BeagleBoard | BeagleBone)?
- 6. Redhat Linux - cambie el color del directorio
- 7. Ubicación del directorio Linux/Ubuntu ~/.vim/syntax/
- 8. RequestDispatcher para servidor remoto?
- 9. mysqldump copia de seguridad y restauración en el servidor remoto
- 10. ¿Cómo ejecutar SWF sin un navegador (en un servidor Linux)?
- 11. Captura de pantalla del sitio web, del lado del servidor, en un servidor alquilado de Linux, gratis
- 12. Cómo mostrar el contenido del directorio del FTP remoto, recursivamente
- 13. Cómo usar el servidor Tomcat externo en Netbeans en Linux?
- 14. copia de Linux enlace simbólico
- 15. Cómo manejar la actualización REST del servidor remoto con SyncAdapter
- 16. Copia recursiva del directorio
- 17. Escaneo de virus del lado del servidor
- 18. Script Bash para scp el archivo más nuevo en un directorio en un servidor remoto
- 19. de servidor en servidor> Recuperar y extraer un archivo zip remoto para directorio de servidor local
- 20. HTTP-live steaming en el servidor Linux
- 21. ¿Cómo eliminar todos los archivos del directorio en el servidor remoto en python?
- 22. servidor svn sincronizar automáticamente
- 23. ¿Cómo hacer una copia de seguridad del servidor de git?
- 24. Ejecutar Silverlight con servidor Apache (en Linux)
- 25. Usuarios y grupos de Linux para un servidor LAMP
- 26. Creando una copia del repositorio local de git en un servidor remoto
- 27. Conectar Eclipse RSE con un servidor Linux remoto usando una clave pública obtenida de Amazon ec2
- 28. Controlador ODBC nativo del servidor MSSQL para Linux y PHP 5.4
- 29. mysql sql importación a través de CLI del servidor remoto
- 30. ¿Tirando automáticamente del servidor remoto con Git push?
Si tiene acceso al ftp del servidor remoto, también podemos usar ** wget ** para descargar como '$ wget -r --level = 9 --no-parent --reject" index.html * "ftp: //: @/ruta/a' [Referencia1] (http://kspace.in/blog/2010/02/22/copy-files-using-wget/) [Referencia2 ] (http://stackoverflow.com/a/273776/3049065) –