Se você marcar o código de saída do rsync e ele retornar 0 (sucesso), nenhum erro deverá ter ocorrido. Em um script de shell, imediatamente após a execução do rsync, seria em $?
para bourne-likes e $status
para [t] csh. Nenhuma saída no stderr é similarmente um bom sinal, mas confio nele menos que o código de saída.
Dependendo da falha, os backups usando --link-dest
podem não ter criado hardlinks, mas fazer verificações de soma de verificação detectariam isso. Se um hardlink for criado durante o rsync, ele já determinou que os arquivos são idênticos e não transferiram os dados do arquivo. Não há como um arquivo com link físico ter checksum diferentemente em um backup incremental versus backup completo.
Se um backup completo falhar, todos os incrementais baseados nesse backup completo serão suspeitos. De modo geral, o rsync é inteligente o bastante para descobrir as diferenças, independentemente da conclusão do backup completo, e, nesse caso, seus incrementais subseqüentes serão significativamente maiores que o normal. Eu ainda estaria muito preocupado com qualquer falha no processo de backup.
Uma palavra de cautela, -c
(checksum) forçará uma releitura completa de cada arquivo selecionado nos sistemas de origem e de destino, independentemente do datestamp ou do tamanho do arquivo, e aumentará bastante o tempo e o sistema io necessários ambas as extremidades.
edit: Para responder sua pergunta subseqüente, time
passará o código de retorno de seu programa filho para seu pai, a menos que haja um erro executando time
, por exemplo, o usuário SIGTERM ' d time
.
DIAGNOSTICS The time command returns when the program exits, stops, or is terminated by a signal. If the program exited normally, the return value of time is the return value of the program it executed and measured. Otherwise, the return value is 128 plus the number of the signal which caused the program to stop or terminate.