Como transferir arquivos entre dois computadores usando comandos NC e PV

Como transferir arquivos entre dois computadores usando comandos NC e PV

Olá colegas leitores do Linux, estou trazendo para você mais um ótimo artigo da nossa série Linux Tips and Tricks, desta vez usaremos dois utilitários Linux menos conhecidos que você deve saber sobre.

Este artigo explicará como você transfere arquivos entre dois computadores Linux usando NC (utilitário de rede) e PV (Visualizador de tubos) comandos, antes de me mover ainda mais, deixe -me explicar o que são esses dois comandos.

Transfira arquivos entre servidores Linux

NC apoia Netcat E muitas vezes aponto como “canivete suíço”É uma ferramenta de rede usada para depuração e investigação de rede e também é usada para criar conexões de rede usando TCP ou UDP, digitalização de porta, transferência de arquivos e muito mais. É criado para ser um back-end confiável e especialmente usado em programas e scripts, pois pode gerar quase qualquer tipo de conexão de rede e possui vários recursos internos.

PV Em curta, o Visualizador de Pipe é uma ferramenta baseada em terminal para monitorar o progresso dos dados enviados através de um pipeline, permite que um usuário veja o progresso dos dados com a barra de progresso, mostra o tempo decorrido, porcentagem concluída, taxa de transferência atual, dados totais transferidos e estimados Hora de completar o processo.

Como monitorar o progresso dos dados usando o comando PV (Pipe Viewer)

Agora vamos nos mover mais longe e ver como podemos combinar os dois comandos para transferir arquivos entre dois computadores Linux, para os fins deste artigo usaremos duas máquinas Linux da seguinte forma:

Máquina A com IP: 192.168.0.4 Máquina B com IP: 192.168.0.7 

Observação: Eu aconselho fortemente a não usar netcat Para enviar e receber dados sobre a rede pubiana, pois não usam logins ou autenticação, o único requisito é o número do cliente e o número da porta de escuta e os dados enviados por rede não são protegidos, portanto, sempre reservado para usuários avançados do Linux e preferia usar na rede local protegida.

Situações em que a segurança dos dados é mais importante e sempre use o RSYNC sobre SSH ou SCP sobre SSH.

Agora vamos começar com um exemplo muito fácil de NC e PV Os comandos, mas antes de fazer isso, ambos os utilitários devem instalar no sistema, se não os instalar usando sua respectiva ferramenta de gerenciador de pacotes de distribuição, conforme sugerido:

# yum install netcat PV [on Chapéu vermelho sistemas baseados] # dnf install netcat PV [on Fedora 22+ versões] # apt-get install netcat PV [ON Debian e seus derivados] 

Como transferir arquivos entre duas máquinas Linux?

Vamos supor que você deseja enviar um grande arquivo chamado CentOS-7-X86_64-DVD-1503.ISO do computador A para B sobre a rede, a maneira mais rápida de conseguir isso usando NC Um utilitário de rede usado para enviar arquivos pela rede TCP, PV para monitorar o progresso dos dados e alcatrão utilidade para comprimir dados para melhorar a velocidade de transferência.

Na máquina Linux A

Primeiro login na máquina 'A'Com endereço IP 192.168.0.4 e execute o seguinte comando.

# tar -zcf-CentOS-7-x86_64-DVD-1503.iso | PV | nc -l -p 5555 -q 5 
Comando netcat para enviar arquivos

Deixe -me explicar as opções usadas no comando acima:

  1. tar -zcf = alcatrão é um utilitário de arquivo de fita usado para compactar/descompactar arquivos e argumentos de arquivo -c cria um novo .Arquivo de Arquivo TAR, -f Especifique o tipo do arquivo de arquivo e -z Filtrar arquivo através do GZIP.
  2. CentOS-7-X86_64-DVD-1503.ISO = Especifique o nome do arquivo para enviar a rede, ele pode ser arquivo ou caminho para um diretório.
  3. PV = Visualizador de Pipe para monitorar o progresso dos dados.
  4. nc -l -p 5555 -q 5 = Ferramenta de rede usada para enviar e receber dados sobre TCP e argumentos -eu costumava ouvir uma conexão de entrada, -P 555 especifica a porta de origem para usar e -Q 5 espera o número de segundos e depois desiste.

Na máquina Linux B

Agora faça o login na máquina 'B'Com endereço IP 192.168.0.7 e execute o seguinte comando.

# NC 192.168.1.4 5555 | PV | Tar -zxf - 
Transferir dados usando o comando NC e PV

É isso, o arquivo é transferido para o computador B, E você poderá assistir a rapidez com que a operação estava executando. Há toneladas de mais outro grande uso de NC (ainda não coberto, mas escreverá sobre isso em breve) e PV (Já cobrimos um artigo detalhado sobre isso aqui) Comandos, se você souber algum exemplo, informe -nos por meio de comentários!