Como posso pausar / retomar o rsync

44

Como posso pausar um rsync em execução?

Primeira vez eu fiz Ctrl + C para matá-lo e usei o sinalizador -P para executar novamente. Isso é propenso a corromper a atual transferência de arquivos?

Segunda vez eu simplesmente coloco MacOS para dormir (fechando a tampa). Olhando para o processo em execução, posso ver 2 (não sei por que) com um status de 'S'.

Tentei usar

kill -SIGCONT

para retomar o processo, mas não tem efeito.

    
por qnoid 16.01.2011 / 14:02

4 respostas

57

Você pode pausar qualquer programa enviando um sinal TSTP (educado) ou STOP (forçado). No terminal que você executou rsync in, pressionando Ctrl + Z envia TSTP . Continue com o comando fg ou bg no terminal ou com um sinal CONT .

É seguro matar um processo de rsync e executar tudo novamente; continuará de onde parou. Pode ser um pouco ineficiente, especialmente se você não tiver passado --partial (incluído em -P ), porque rsync verificará todos os arquivos novamente e processará o arquivo que foi interrompido do zero.

Pode haver combinações incomuns de opções que levarão alguns arquivos a não serem sincronizados corretamente, talvez --inplace com outra coisa, mas acho que nenhuma opção única causará isso.

Se você desconectar seu laptop e reconectá-lo em outro lugar, ele poderá obter um endereço IP diferente. Então a conexão TCP usada pelo rsync seria cortada, então você teria que matá-lo e começar de novo. Isso também pode acontecer se você suspender seu laptop e a conexão TCP expirar. O tempo limite acabará por filtrar para o nível do aplicativo, mas pode demorar um pouco. É seguro pressionar Ctrl + C e executar o rsync novamente.

    
por 16.01.2011 / 14:31
20

Ctrl + Z para suspender e:

$ fg

para continuar, use

$ jobs

para ver trabalhos suspensos; bg [number] para o fundo deles; fg [number] para foreground.

    
por 16.01.2011 / 14:22
7

Execute rsync com o sinalizador --partial . Ele manterá as transferências parciais e retomará os arquivos parciais quando for iniciado.

    
por 16.01.2011 / 20:56
4

As pessoas mencionaram o uso do --partial flag works, mas é necessário mencionar que ele só é retomado quando o sinalizador --append ou --append-verify é usado ao retomar.

--partial cria um arquivo oculto do arquivo que não terminou o processo de sincronização, o arquivo é mantido quando você interrompe a sincronização. Ele continua a completar o arquivo quando você usa --append após continuar, caso contrário, quando não estiver usando --append , o arquivo oculto incompleto será mantido e permanecerá incompleto.

Conclusão: Você pode simplesmente interromper rsync --partial usando Ctrl + C se você usar rsync --append quando retomar

(Fonte: O rsync pode ser retomado depois de ser interrompido? recuperado 5 de abril de 2016)

    
por 05.04.2016 / 10:59

Tags