Preciso fazer um backup temporário de ca 1 TB antes de mover um servidor local, e o outro local de armazenamento que tenho é um cluster HPC remoto com cota de armazenamento suficiente, mas um limite na contagem de arquivos, e há muitos arquivos. Criar um arquivo tar na máquina local é muito lento (velocidade de gravação?).
Então, como posso transferir os arquivos locais para um arquivo tar remoto? Eu estava pensando em montar o sistema de arquivos remoto localmente (com sshfs?) e então usar algo como tar -cf /mnt/remote/backup.tar local_folder
(Deve funcionar, certo?). Mas isso pode ser feito sem montar? Talvez usando algum magic pipe de ssh
, scp
e tar
?
Se eu conseguir fazer isso funcionar, também é possível atualizar o arquivo remoto com arquivos locais atualizados como uma solução de backup adequada? (Isso não é necessário para a tarefa atual.)
Você pode usar um comando como:
O comando é executado no host com muitos arquivos e
ssh
vai para o host de destino desejado. Claro que você pode substituir o curinga (*
) pelo seu.Usando este método não é possível atualizar, apenas criar.
-
Use a opção tar paratar
enviar a saída para sdtout, que você pode então canalizarssh
para o sistema de arquivos remoto.Muitas vezes, usar a compressão nativa tar gzip ou xz (com uma taxa de compressão baixa) aumentará apenas um pouco a carga da CPU, mas muitas vezes reduzirá significativamente a quantidade de dados que você precisa transferir e gravar.
Você então acaba com algo como: