O rsync não parece ser capaz de ignorar o tamanho do arquivo.
Uma possível solução alternativa, se os dados reais do arquivo não importam, é criar arquivos de destino esparsos com o mesmo tamanho dos arquivos de origem. Exemplo:
dd if=/dev/urandom bs=1M count=4 of=a
rsync -a a b
truncate -s 0 b && truncate -r a b && touch -r a b
b
agora está vazio e não usa espaço (se o sistema de arquivos suportar arquivos esparsos), mas ainda tem o mesmo tamanho que a
.
rsync -a a b
du -h a b
# 4.0M a
# 0 b
Como pode ser visto pela saída de du
, b
não foi atualizado, pois ainda não usa espaço.