Backup de arquivos do servidor (IP estático) para o servidor doméstico (IP dinâmico)

Backup de arquivos do servidor (IP estático) para o servidor doméstico (IP dinâmico)

Já estou familiarizado e uso rsync, transferências scp, tar, 7z etc, porém nenhum deles resolve um backup que pretendo fazer regularmente.

Tenho um servidor remoto com 80% de espaço usado em SSD de 100 GB do qual gostaria de fazer backup. O servidor possui mais de 10.000 arquivos pequenos, portanto, um tarball básico ou algum tipo de compactação intermediária (como rsync -z) ajudará.

Tenho um servidor em casa do qual gostaria de fazer backup, mas ele usa IP dinâmico.

O problema é usarrsync -zouscp e tar (via tubo), isso deve ser feito em um servidor remoto, mas esse servidor não pode ver meu servidor doméstico, pois está em IP dinâmico.

Portanto, só posso executar comandos no meu servidor doméstico, comoscp usuário@servidor remoto:/arquivos/para/backup /home/usuário/backupsmas isso não pode usar compactação, então um grande número de arquivos leva muito tempo para ser transferido.

Existe uma maneira mais rápida?

PS: não preciso armazenar permissões de arquivo etc. que o tarball faz

Editar: devido ao espaço limitado no servidor remoto, não consigo criar um tarball lá e puxar o servidor doméstico. Portanto, tem que ser em tempo real.

Responder1

Por que não é possível iniciar a rsyncpartir do seu destino de backup? Não há nenhuma restrição inerente rsyncque impeça isso. Correndo

rsync -avz [email protected]:/data /backupdir 

no destino de backup (servidor inicial) deve fazer exatamente isso.

Responder2

Existem muitas opções. A mais fácil pode ser apenas adicionar o comando -C ao SSH ou algo assim, o que permite a compactação do link.

Uma solução mais sofisticada (e mais rápida, certifique-se de muitos arquivos pequenos e latência) seria descartar o scp e usar um canal para compactar dados em tempo real. Algo como tar -cz /path/to/backup | SSH user@remote "cd /path; tar -xz" compactará e descompactará arquivos usando compactação gzip. Claro, não há nada que o impeça de usar um comando diferente após o ssh se, por exemplo, você apenas quiser armazenar o arquivo compactado, poderá usar "cat > /path/to/file.tar.gz".

Não está claro para mim por que você está falando sobre IPs dinâmicos aqui. Se isso representar um problema, você pode usar DNS dinâmico ou configurar uma VPN com o servidor estático ou iniciar um pull do IP dinâmico em vez de enviar por push do estático.

informação relacionada