Killing rsync suavemente

3

Existe uma maneira de dizer rsync para parar sempre que possível de uma maneira limpa? Duas opções:

  • informe rsync para parar de transferir o arquivo atual, limpar qualquer arquivo temporário e sair;
  • ou deixe rsync encerrar a transferência do arquivo atual e pare.

Ao fazer Ctrl + C , ele pára mid-transfer e deixa os arquivos temporários lá, certo?

Editar

Mesmo se estiver usando --inplace ? Qual seria o melhor curso de ação? Estou usando rsync com --inplace e tenho que ir rápido, como posso dizer “Pode acabar com esse arquivo e sair, ou sair agora, mas limpe esse arquivo que você estava copiando para não sair corrompido coisas (eu não me importo se é removido, eu posso fazer backup novamente mais tarde) "ou algo assim.

    
por Manuel 28.01.2016 / 20:23

1 resposta

3

Se você matar o rsync com Ctrl + C , ele pára a transferência do meio, mas não manterá arquivos temporários lá, a menos que seja executado com a opção --partial .

Para aqueles que também estão interessados em simplesmente pausar o rsync, se você pressionar Ctrl + Z , ele fará uma pausa no programa. Ao reiniciá-lo executando fg ou bg rsync irá reiterar o arquivo que não foi concluído e continuará baixando o restante dos arquivos. Para ver todos os programas atualmente em pausa, execute jobs

Sobre --inplace

O problema com o --inplace é que ele não cria um novo arquivo ao atualizar dados, apenas grava no existente. Se você pressionar ctrl + c durante a execução com --inplace e estiver atualizando um arquivo existente, ele deixará um arquivo semitominado sem removê-lo. Além disso, se você estiver sincronizando apenas novos arquivos e não atualizar os já existentes, quando você interromper uma transferência (com ctrl + c), ele deixará metade do arquivo finalizado que não será removido. Apenas uma nota que eu não recomendaria --inplace para arquivos do sistema operacional. Você pode realmente levantar algumas coisas (porque elas mudam com frequência)

    
por 28.01.2016 / 20:48

Tags