Dadas dos cajas de Linux en una LAN, ¿cuál es la forma más sencilla de transferir archivos entre ellas?
Dadas dos cajas de Linux en una LAN, ¿cuál es la forma más sencilla de transferir archivos entre ellas?
Respuestas:
Yo uso scp
.
scp source desthost:/path/to/dest/.
para copiar desde la máquina local a la máquina remota, o
scp srchost:/path/to/file/file .
copiar desde una máquina remota a la máquina local.
Si el nombre de usuario no es el mismo en la máquina remota,
scp user@srchost:/path/to/file/file .
scp
o rsync
para mí.
nfs podría ser útil.
El Sistema de archivos de red (NFS) permite que un nodo cliente realice un acceso transparente a los archivos a través de la red. Al usar NFS, un nodo cliente opera en archivos que residen en una variedad de servidores y arquitecturas de servidores, y en una variedad de sistemas operativos. Las llamadas de acceso a archivos en el cliente (como las solicitudes de lectura) se convierten en solicitudes de protocolo NFS y se envían al sistema del servidor a través de la red.
Es posible que necesite la ayuda de su administrador de Unix para configurarlo por primera vez, pero es muy útil.
Para transferencias de un solo archivo, generalmente uso SFTP o un recurso compartido de samba existente.
Para mantenerse sincronizado, le sugiero que pruebe rsync o unison (para sincronización bidireccional)
Editar: scp
sería mejor entonces sftp
, ya que funcionaría en todos los hosts habilitados para SSH
Para hacer copias de seguridad, a menudo uso rsync. Si quiero hacer una copia de seguridad en una máquina remota, pondré una línea en / etc / fstab para mantener la máquina remota montada por NFS o CFIS (Samba).
192.168.0.101:/ /mnt/backup nfs rsize=8192,wsize=8192,timeo=14,intr 0 0
Luego tenga una línea en mi crontab usando rsync.
rsync -av /home/user/sourcedir/ /mnt/backup/destinationdir > /home/user/backup.log
netcat es simple pero no todas las versiones cierran la conexión de manera confiable.
Aquí hay un hilo sobre el uso socat
:
transferencia de archivos confiable de socat a través de TCP
Para resumirlo:
Archivo de envío del servidor:
server$ socat -u FILE:test.dat TCP-LISTEN:9876,reuseaddr client$ socat -u TCP:127.0.0.1:9876 OPEN:out.dat,creat
Archivo de recepción del servidor:
server$ socat -u TCP-LISTEN:9876,reuseaddr OPEN:out.txt,creat && cat out.txt client$ socat -u FILE:test.txt TCP:127.0.0.1:9876
OPEN:out.txt,creat,trunc
eliminará todos los bytes enout.txt
antes de escribir en él. Esta opción imita lo que esperaríascp
, y es probablemente lo que deseas.OPEN:out.txt,creat,excl
se negará a escribirout.txt
si ya existe. Use esta opción para mayor seguridad.OPEN:out.txt,creat,append
agregará datos aout.txt
.
También puedes usar el programa Giver . Al usarlo, puede transferir archivos a través de LAN con 2 clics o "arrastrando y soltando" el archivo al destinatario. Los destinatarios (que también deben ejecutarse giver
) se descubren a través de Zeroconf, por lo que no tiene que saber ni siquiera su IP. Aquí hay un video sobre cómo funciona Giver .
Si no tiene una cuenta (contraseña) en el host receptor, puede usar woos (oferta web de una transmisión):
woos archivo o directorio ...