Uma maneira de fazer isso é:
- no cliente, execute primeiro uma execução seca e extraia o tamanho de transferência estimado de sua saída.
- no cliente, passe esse número para o rsync remoto de alguma forma; a opção
--checksum-seed
poderia funcionar - no servidor,
pre-xfer exec
extrai esse número das variáveisRSYNC_ARG*
, verifica o espaço disponível e rejeita a transferência inteira, se não for suficiente.