Eu tenho um servidor A, ele tem três usuários. Eu preciso baixar 70 gigabytes de conteúdo de uma pasta no servidor B. O servidor tem apenas 90 GB de espaço, então compactar, então a transferência não é uma opção. Na minha experiência, rsync
é extremamente lento 10 vezes mais lento que outros métodos.
Eu sempre usei
ssh user@ip "tar zc -C /home/minecraft/multicraft/servers/server2 ." | tar zx
Este comando é incrível porque abre um pipe e faz o download direto de tudo o que você quiser, na velocidade máxima. Não diminui a velocidade de arquivos minúsculos como o rsync. Eu usei isso para transferir coisas rapidamente e é tão rápido que o upload de 100 mbps é o gargalo.
De qualquer forma, mas o servidor A tem um usuário que eu loguei, ele também tem sudo -i e, finalmente, também há minecraft, os arquivos do usuário estão realmente abaixo. O usuário não é um usuário real, é apenas o espaço reservado para os arquivos por motivos de segurança. Não consigo fazer login nesse usuário.
Então, o que devo fazer é, ssh do servidor B no servidor A, com um comando sudo na raiz, fornecer a senha de root e, em seguida, executar o meu usual
ssh user@ip "tar zc -C /home/minecraft/multicraft/servers/server2 ." | tar zx
Por favor, ajude-me todos os assistentes de computador.