Preciso transferir arquivos de um servidor CentOS para outro. Transferirá arquivos de 5 MB a cada 10 minutos. Não precisa de criptografia.
O que é fácil para transferência rápida de arquivos?
Existe algo mais simples que FTP?
Obrigado!
Responder1
sincronizar novamente
Eu usaria o rsync antes de usar o FTP ou o TFTP.
Mais opções e (na minha experiência) transferência mais confiável.
Responder2
tar sobre ssh está bem, mas tar sobre TCP via netcat é o mais barato possível! Se isso for algo único, experimente:
No receptor:
nc -l -p 8989 | tar x
No remetente:
tar cf - /source-path | nc (receiving host ip address) 8989
Se isso é algo que você faz regularmente, provavelmente usaria o rsync.
Responder3
Duas pessoas mencionaram tar sobre ssh, mas não disseram como fazê-lo. Para registro, o procedimento básico é executar:
tar cf - files... | ssh remotehost 'cd /destination && tar xvf -'
Ou, se você deseja iniciar as transferências do lado receptor:
ssh remotehost 'cd /source && tar cf - files' | tar xvf -
A vantagem de fazer isso dessa maneira em relação à solução netcat de Evan é que tudo pode ser iniciado a partir de um computador; você não precisa coordenar duas invocações do netcat. Se precisar que isso seja executado automaticamente, você pode configurar uma chave ssh que permite fazer conexões sem uma senha longa e usar essa chave para essas conexões.
ssh tem uma opção -C para compactar seu fluxo de dados, ou você pode usar a capacidade de compactação integrada do GNU tar:
tar zcf - files... | ssh remotehost 'cd /destination && tar xzvf -'
Rsync é outra opção, mas seu ponto forte é atualizar arquivos que já existem no receptor. Descobri que ele é mais lento que scp ou tar/ssh ao usá-lo para transferir arquivos que ainda não existem do outro lado.
Responder4
Se você precisar passar pelo scp/ssh, meus experimentos mostram que a cifra mais rápida habilitada por padrão atualmente é a RC4. Você especifica a cifra via '-c arcoquatro'no seu comando ssh/scp:
para cópia inicial:
scp -c arcfour -r foo/ desthost:/destdir
para atualizações:
rsync -e 'ssh -c arcfour' -r foo/ desthost:/destdir