Eu tenho um servidor ubuntu mais antigo e um servidor debian mais recente e estou migrando dados do antigo para o novo. Eu quero usar o rsync para transferir dados para facilitar a migração final e mais rápido que o processo tar / scp / untar equivalente.
Como exemplo, desejo sincronizar as pastas pessoais, uma de cada vez, com o novo servidor. Isso requer acesso root nas duas extremidades, pois nem todos os arquivos no lado de origem são legíveis pelo mundo e o destino deve ser gravado com as permissões corretas em / home. Não consigo descobrir como dar acesso ao rsync root nos dois lados.
Eu já vi algumas perguntas relacionadas, mas nenhuma corresponde exatamente ao que estou tentando fazer.
Eu tenho o sudo configurado e trabalhando nos dois servidores.
Se seus dados não forem altamente sensíveis, você poderá usar
tar
esocat
. Na minha experiência, isso geralmente é mais rápido do quersync
over ssh.Você precisa
socat
ounetcat
dos dois lados.No host de destino, vá para o diretório em que você deseja colocar seus dados, após a execução:
socat TCP-LISTEN:4444 - | tar xzf -
Se o host de destino estiver ouvindo, inicie-o na fonte como:
tar czf - /home/fred /home/ | socat - TCP:ip-of-remote-server:4444
Para esta configuração, você precisará de uma conexão confiável entre os 2 servidores.
fonte
Ok, eu reuni todas as pistas para conseguir algo que funcione para mim.
Vamos chamar os servidores "src" e "dst".
Configure um par de chaves para raiz no servidor de destino e copie a chave pública no servidor de origem:
Adicione a chave pública às chaves autorizadas da raiz no servidor de origem
De volta ao servidor de destino, insira os dados com o rsync:
fonte