Como transferir arquivos de um servidor Linux para outro

Autor: Carl Weaver
Data De Criação: 23 Fevereiro 2021
Data De Atualização: 1 Julho 2024
Anonim
Como transferir arquivos do Linux para qualquer dispositivo via rede com 1 comando
Vídeo: Como transferir arquivos do Linux para qualquer dispositivo via rede com 1 comando

Contente

Em um ambiente de vários servidores Linux, muitas tarefas envolvem mover um ou mais arquivos de um servidor para outro. Dependendo do número de arquivos que você precisa mover, existem vários comandos que podem ajudá-lo .... Vamos supor para essas discussões que nossos servidores são Alice e Madhat, e que nosso usuário em Alice é Coelho e nosso usuário em Madhat é Fieldmouse.

Passos

  1. 1 Para um arquivo simples, tente o comando "scp". Você pode usar isso como um comando "push" ou "pull", mas vamos começar enviando o arquivo para outro servidor. Enquanto em Alice use o comando "scp myfile fieldmouse @ madhat: thatfile". Isso copiará o arquivo para outro sistema com a ID de usuário "esse arquivo". Se você estava logado em um sistema diferente, você pode facilmente puxar o arquivo com o comando "scp rabbit @ alice: myfile thatfile" e obter o mesmo resultado.
  2. 2 Para copiar todo o diretório, podemos usar o comando "scp" novamente. Desta vez, adicionaremos a opção -r para forçar a cópia a agir "recursivamente". "scp -r mydir fieldmouse @ madhat:." - copiará todo o diretório "mydir" para outro sistema, incluindo todo o seu conteúdo e diretórios adicionais. O diretório em madhat ainda se chamará mydir.
  3. 3 E se você tiver uma grande confusão de arquivos e diretórios para copiar? Você pode usar o comando "tar" para criar um arquivo, então copiar esse arquivo como acima, e então usar tar para distribuí-lo para outro servidor ... Mas parece ... não é do tipo Unix. Deve haver uma maneira de fazer isso em uma única etapa, certo? Bem, claro!

    E Entre no tubo da sua concha favorita. Ainda podemos usar tar para empacotar os arquivos que queremos e então usar SSH para obtê-los em outro sistema (que é o que o SCP usa em shells) e tar, por outro lado, para distribuir os arquivos de volta. Mas por que desperdiçar tempo e espaço criando o próprio arquivo tar, quando poderíamos simplesmente criar um pipe que abrange os dois sistemas e passa os dados tar por ele?

    Usando o mesmo diretório do exemplo anterior, tente "tar -cf - mydir / * | ssh fieldmouse @ madhat" tar -xf - "

Pontas

  • Claro, existem outras maneiras de fazer isso também. O Linux está cheio de ferramentas.Sua classificação está sujeita a alterações.
  • Você deve alterar o nome de usuário / nome do host / nome do diretório do arquivo dependendo da configuração da rede e do ambiente ao usar os comandos acima. Os comandos acima são apenas exemplos de como executar comandos para copiar arquivos para o servidor.

Avisos

  • Certifique-se de que os IDs e seus GIDs nos diferentes sistemas que você usa são os mesmos (não apenas nomes de usuário). Se não for esse o caso, ocorrerão problemas de segurança interessantes.