Existe algo mais simples que o FTP para enviar arquivos entre máquinas Linux?

1

Eu preciso transferir arquivos de um servidor CentOS para outro. Vou transferir 5MB de arquivos a cada 10 minutos. Eu não preciso de criptografia.

Qual é o caminho mais fácil para uma transferência rápida desses arquivos? Existe algo mais simples que o FTP?

    
por Deny Workaholic 21.05.2012 / 09:17

8 respostas

5

Um sistema de arquivos distribuído ou use crontab para executar um trabalho scp / rsync .

scp = cópia remota segura, você precisará configurar o arquivo de identidade e a chave de autenticação para autenticação de chave, ou seja, sem senha

trabalho de crontab:

crontab -e

insira isto no arquivo (para):

*/10 * * * * scp [email protected]:/remote/path/file /save/to/path

SE tudo for mais difícil que um ftp, use um thumb stick USB !!!

    
por 21.05.2012 / 09:18
1

netcat é mais simples, pois são apenas bytes brutos (ala cat ) sobre o fio. mas você precisaria também de ouvir netcat no outro lado ... "na hora certa":)

receiver> nc -l -s 0.0.0.0 -p 12345

e depois você envia o arquivo via

sender> nc receiver 12345 < file

esta é a maneira mais simples de transferir arquivos de uma máquina para outra. sem autenticação, sem criptografia, nada além de bytes brutos.

mas não recomendarei isso de forma alguma a transferir arquivos com segurança pela rede. use ssh / scp.

    
por 21.05.2012 / 09:23
1

Eu diria que rsync é o caminho a percorrer.

É muito mais fácil fazer o script do xfer do que o ftp, e é bastante inteligente sobre como funciona (retomar, diferenciar, etc.). Você também pode configurá-lo para verificar periodicamente o diretório em si e fazer o upload dos arquivos novos / alterados, para que você possa pular um crontab.

Normalmente rsync é slient, então se você quiser ver o que está fazendo o que você precisa

Um resumo / tutorial bastante agradável: link

(copy recursively, keep symlinks/users, verbose, checksum)
rsync --progress -avz  
       /copy/files/*.tar.gz 
       username@other-server:/destination/folder

Quanto aos sistemas de arquivos distribuídos, esse soa complexo. Você pode simplesmente montar o mesmo volume nfs em ambas as máquinas? Se apenas um está escrevendo, você não precisa se preocupar.

    
por 21.05.2012 / 09:26
1

Você quer que seja automaticamente?

sshfs é um bom caminho a percorrer se não, basta instalar o sshfs e executar

mkdir /mount/point
sshfs user@server:/remote/path /mount/point

e insira sua senha no prompt e, em seguida, o caminho remoto se parece com um diretório local no seu computador. Claro que você precisa ter um servidor ssh no final remoto. OpenSSH é uma boa alternativa

    
por 21.05.2012 / 13:53
0

Outra opção é configurar um servidor NFS em um nó e monte-o no outro nó.

    
por 21.05.2012 / 14:14
0

Se a transferência for apenas uma direção, você poderá implantar um servidor HTTP simples, como mini-httpd , publicar os arquivos em um diretório que mini-httpd expõe e deixar o destino fazer o download deles com wget . mini-httpd é a primeira coisa que me vem à mente quando penso em um servidor HTTP simples, mas tenho certeza de que há outros mais simples (tecnicamente, você não pode ter uma configuração de servidor web com bash ? one-liner em algum lugar que implementa um simples servidor web?)

Se você já tiver um servidor da Web nesse host não exposto ao público, poderá reutilizá-lo.

    
por 21.05.2012 / 14:59
0

O wput é um cliente ftp de linha de comando que facilita o upload de arquivos, com apenas um único comando:

wput myfile.tar ftp://user:[email protected]/mydir/

Claro, você pode fazer o mesmo do outro lado usando o wget / curl e um servidor da web.

    
por 21.05.2012 / 16:32
-1

Outra opção é o MidnightCommander (mc). Se você cresceu com DOS e NortonCommander.

    
por 21.05.2012 / 14:20