Transferir archivos a servidor Linux desde Windows
Tabla de contenido:
Cuando se trata de transferir archivos entre sistemas en la red, los usuarios de Linux y Unix tienen muchas herramientas a su disposición.
Los protocolos más populares para la transferencia de datos son SSH y FTP. Si bien FTP es muy popular, siempre prefiera usar SSH, ya que es la forma más segura de transferir sus archivos.
Existen herramientas especializadas para la transferencia de archivos a través de SSH, como
scp
y
sftp
pero ninguna de ellas tiene todas las características que proporciona
rsync
.
rsync
se puede usar para duplicar datos, copias de seguridad incrementales, copiar archivos entre sistemas, etc.
En este tutorial, explicaremos cómo copiar archivos con
rsync
través de SSH.
Requisitos
-
La utilidad
rsync
debe instalarse tanto en el sistema de destino como en el de origen. Si no está instalado, puede instalarlo utilizando el administrador de paquetes de su distribución:Ubuntu y Debian:
sudo apt install rsync
CentOS y Fedora:
sudo yum install rsync
Acceso SSH a la computadora remota.
El usuario que ejecuta el comando
rsync
y el usuario SSH remoto deben tener los permisos adecuados para leer y escribir archivos.
Uso de
rsync
para transferir archivos a través de SSH
Con
rsync
, puede transferir archivos y directorios a través de SSH desde y hacia servidores remotos.
La sintaxis general para transferir archivos con
rsync
es la siguiente:
Local to Remote: rsync… -e ssh… HOST:DEST Remote to Local: rsync… -e ssh HOST:SRC…
Donde
SRC
es el directorio de origen,
DEST
es el directorio de destino.
USER
es el nombre de usuario SSH remoto y
HOST
es el host SSH remoto o la dirección IP.
Las versiones más recientes de rsync están configuradas para usar SSH como shell remoto predeterminado, por lo que puede omitir la opción
-e ssh
.
Por ejemplo, para transferir un solo archivo
/opt/file.zip
del sistema local al directorio
/var/www/
en el sistema remoto con IP
12.12.12.12
, ejecutaría:
rsync -a /opt/file.zip [email protected]:/var/www/
La opción
-a
significa modo de archivo que sincronizará directorios de forma recursiva, transferirá dispositivos especiales y bloqueará, preservará enlaces simbólicos, tiempos de modificación, grupo, propiedad y permisos.
Si el archivo existe en el servidor remoto, se sobrescribirá. Si desea guardar el archivo con un nombre diferente, especifique el nuevo nombre:
rsync -a /opt/file.zip [email protected]:/var/www/file2.zip
Para transferir datos de una máquina remota a una máquina local, use la ubicación remota como origen y la ubicación local como destino:
rsync -a [email protected]:/var/www/file.zip /opt/
Transferir directorios con
rsync
través de SSH es lo mismo que transferir archivos.
Es importante saber que
rsync
da un tratamiento diferente a los directorios de origen con una barra inclinada
/
. Cuando el directorio de origen tiene una barra diagonal final,
rsync
copiará solo el contenido del directorio de origen en el directorio de destino. Cuando se omite la barra diagonal final, el directorio de origen se copiará dentro del directorio de destino.
Por ejemplo, para transferir el directorio local
/opt/website/images/
directorio
/var/www/images/
en una máquina remota, escriba:
rsync -a /home/linuxize/images/ [email protected]:/var/www/images/
Use la opción
--delete
si desea sincronizar el directorio local y remoto. Tenga cuidado al usar esta opción, ya que eliminará archivos en el directorio de destino si no existen en el directorio de origen.
rsync -a --delete /home/linuxize/images/ [email protected]:/var/www/images/
Si SSH en el host remoto está escuchando en un puerto que no sea el predeterminado
22
, especifique el puerto utilizando la opción
-e
. Por ejemplo, si SSH está escuchando en el puerto
3322
, usaría:
rsync -a -e "ssh -p 3322" /home/linuxize/images/ [email protected]:/var/www/images/
Al transferir grandes cantidades de datos, se recomienda ejecutar el comando
rsync
dentro de una sesión de pantalla o usar la opción
-P
que le dice a
rsync
que muestre una barra de progreso durante la transferencia y mantenga los archivos parcialmente transferidos:
rsync -a -P /home/linuxize/images/ [email protected]:/var/www/images/
Conclusión
Le hemos mostrado cómo usar
rsync
sobre SSH para copiar y sincronizar archivos y directorios.
Es posible que también desee leer cómo excluir archivos o directorios con
rsync
.
Siéntase libre de dejar un comentario si tiene alguna pregunta.
terminal rsyncCómo transferir tus contactos de google a iphone a través de icloud
Aprende cómo exportar tus contactos de Google y subirlos a iCloud para transferirlos a tus dispositivos iOS, como iPhone.
Cómo transferir juegos de emulador a ps vita en tn-v a través de ftp
Aprende cómo transferir de forma inalámbrica Roms de juego de emulador usando FTP a tu PS Vita con TN-V.
Cómo excluir archivos y directorios con rsync
Con Rsync puede duplicar datos, crear copias de seguridad incrementales y copiar archivos entre sistemas. Al copiar datos, es posible que desee excluir uno o más archivos o directorios en función de su nombre o ubicación. En este tutorial, le mostraremos cómo excluir archivos y directorios con rsync.