Como pausar / retomar a transferência de arquivos grandes?

23

Recentemente, tive que copiar cerca de 20 GB de dados divididos entre cerca de 20 arquivos do meu laptop para um disco rígido externo. Como essa operação leva um bom tempo (a ~ 560kb / s), fiquei pensando se havia alguma maneira de pausar a transferência e continuar com ela mais tarde (no caso, preciso interromper a transferência). Como uma questão paralela, existe alguma diferença de desempenho entre copiar do terminal e copiar do Nautilus?

Olivier Lalonde
fonte

Respostas:

21

Eu recomendaria usar o rsync .

Exemplo:

rsync -a --append source-file destination

Se você deseja ver o progresso, adicione a --progressopção ao comando

texto alternativo

Isaías
fonte
4
A opção -append parece ser o pino lynch do "Continuar" ... mas existe uma maneira elegante de "Pausar" o rsync , além de Ctrl + C? ... e o rsync pode retomar com precisão, depois de algo dramático ... por exemplo. um power-out?
Peter.O
Se vindo do google em 2016, uma maneira seria iniciar o comando rsync como um processo a partir de python ou similar e monitorar o processo enquanto lê sua saída. Então você pode disparar um sinal SIG / contra o processo. Um arquivo sh deve ser capaz de fazer isso, eu pensaria
Angry 84
3

resposta curta, não precisa de instalação, para pausar o uso kill -STOP PID
para continuar o processo em pausa, kill -CONT PID
onde PID é ID do processo. você pode obter o PID executando o monitor ou topcomando do sistema

Edward Torvalds
fonte
2

Eu posso responder apenas a parte sobre a diferença entre terminal e nautilus. Eu verifiquei várias vezes isso. Parece que copiar do terminal é mais rápido do que qualquer outro meio gráfico como o nautilus. Pelo menos no meu caso, quando copio cerca de 32 GB de informação, leva cerca de 3 a 5 minutos a menos do terminal do que o nautilus de uma cópia de 25 minutos. isso é cerca de 10% a 20% do tempo. Sobre uma maneira de retomar uma cópia para sua unidade externa, eu acho curlou rsynciria retomar uma cópia com falha. Pelo menos com o comando cp. Eu não tentei isso sozinho (tentarei amanhã), mas esses dois podem funcionar.

Para curl você precisa aptitude install curlou apt-get instal curljá que ele não vem com o ubuntu por padrão.

Use curl --helpou rsync --helppara saber mais. Amanhã vou mostrar como copiar com os dois, se você não encontrar o caminho.

Luis Alvarado
fonte