Estou fazendo uma transferência massiva de 200 TB com o rsync. Usei um script de shell que encontrei na Internet para gerar alguns processos, mas aqui está o comando rsync relevante:
rsync --recursive \
--whole-file \
--inplace \
--sparse \
--no-compress \
--max-alloc=8GiB \
--size-only \
--human-readable \
--info=progress2 \
--log-file="$rsync_file_basename.log" \
--log-file-format="%o=%-7'''b | total=%-7'''l [%i] => %f%L" \
"/mnt/disk${disk_id}/$share_name/$share_subdir/" \
"$target_path" \
>> "$rsync_file_basename.out"
A transferência está indo muito bem, mas ao observar os logs, vejo dois tipos de erros aparecerem esporadicamente.
principalmente isso:
rsync: [receptor] ftruncate falhou em "/mnt/remotes/TS140_stuff/pictures/family_1/IMG345.jpg": Recurso temporariamente indisponível (11)
Mas também alguns destes:
rsync: falha na gravação do [receptor] em "/mnt/remotes/TS140_stuff/shows/ep1.mp4": Recurso temporariamente indisponível (11) erro de rsync: erro no arquivo IO (código 11) em receiver.c(380) [receiver= 3.2.7] rsync: erro de gravação [remetente]: tubo quebrado (32) erro rsync: erro no arquivo IO (código 11) em io.c (1700) [remetente = 3.2.7]
Agora, o diretório de destino é uma montagem SMB e são muitos dados, então eu esperava algumas coisas assim.
Mas o motivo desta postagem é que posso ver os arquivos no destino e eles parecem bem. O rsync tem algum tipo de lógica de nova tentativa usada com base no comando?