Limite o rsync ao espaço disponível no destino

2

Eu tenho um diretório, /data/snapshots , que gostaria de arquivar em uma unidade externa montada em /mnt . O externo é 2tb, /data/snapshots é muito mais.

Se eu:

rysnc -av /data/snapshot /mnt

Em seguida, o comando falhará quando o externo estiver cheio. O problema é que não tenho como continuar com o rsync quando uma nova unidade vazia for montada.

Atualmente, parece que tenho duas opções:

  • gere uma lista de arquivos no valor de 2 TB e use o rsync para iterar esses arquivos. Isso parece desnecessariamente incômodo / propenso a erros.
  • em vez disso, use: %código%

Espero que este seja um problema resolvido e alguém possa me indicar uma solução.

edit: Para simplificar o pedido, o que eu desejo é uma opção rsync --remove-source-files -av /data/snapshot /mnt dentro do rsync.

    
por Daniel 22.07.2015 / 21:20

1 resposta

0

Que tal tentar isto:

  1. Use du para obter uma lista de todos os arquivos e quanto espaço em disco usado

  2. Divida este filelist.txt em listas menores ( list1.txt , list2.txt , etc), cada um adicionando até 2TB

  3. execute rsync --files-from para cada lista, depois de trocar em um espaço vazio Unidade de 2 TB

por 23.07.2015 / 02:49