Movendo diretório de tamanho grande usando rsync

Movendo diretório de tamanho grande usando rsync

Pretendo mudar do diretório linux o/sa que está montado na SAN (offboard) para armazenamento externo para backup. O tamanho do diretório é 14TB.

Tenho experiência em mover arquivos para dentro/para fora usando rsync, mas nunca fiz isso com diretórios/arquivos de tamanho grande como agora.

Os diretórios são estabelecidos em termos de hierarquia ano/mês/dias/horas e suportam logs brutos para análise.

Problema

Portanto, com o que foi dito acima, devido a restrições de recursos, não consigo mover 14 TB completos para o espaço de armazenamento externo/de backup. O espaço de backup que tenho atualmente é de no máximo 8 TB. Então, existe um comando ou opção/parâmetro que eu possa dizer ao rsync para copiar apenas arquivos no tamanho mencionado, ou seja, apenas TB.

OBSERVAÇÃO Eu não me importo menos com a natureza do arquivo, é apenas além de um determinado tamanho, não quero mover nenhum dado.

Responder1

Você não pode fazer com que o rsync pare quando ele tiver copiado uma certa quantidade de bytes, fornecendo um limite. Você pode executá-lo normalmente

rsync -a /src/ /dest 

e quando /dest estiver cheio, ele irá parar com um erro

 rsync: write failed on "...": No space left on device (28)

Você poderia fazer algo com um script

find /src -printf "%p %s\n" >filelist_size

Em seguida, use algo como awk para ler filelist_sizee imprimir o nome do arquivo filelistse a soma dos tamanhos dos arquivos estiver abaixo de algum limite.

Você pode então usar o files-from=filelistargumento para rsync.

Pode ser mais fácil escrever isso em python.

informação relacionada