Estou copiando um arquivo grande usando scp
e percebi que o destino pode não ter espaço suficiente para terminar. Existe uma maneira de pausá-lo, possivelmente por várias horas, e retomar mais tarde? Além disso, se falhar ( no space left on device
), poderei retomá-lo depois de liberar espaço?
(Observe que scp
já está em execução; soluções como usar um programa diferente não funcionarão.)
Responder1
Você pode pausar um processo com SIGSTOP e posteriormente continuá-lo com SIGCONT. (Veja kill -l
uma lista de sinais e use ps
para obter o ID do processo).
No entanto, há uma boa chance de que isso não funcione. Por exemplo, se você tiver um roteador entre a origem e o destino que detecta e 'limpa' uma conexão inoperante. A maioria dos roteadores SOHO parece fazer isso porque limpar as conexões significa menos uso de memória. (E assim eles podem construir roteadores mais baratos).
Se isso acontecer, você precisará copiar novamente com scp ou usar o rsync.
O Rsync tem a vantagem de comparar arquivos já existentes e não copiar dados desnecessariamente. No seu caso, ele deve detectar um arquivo parcialmente carregado já presente e carregar apenas o restante do arquivo
A sintaxe seriarsync -v -e ssh /home/my_file [email protected]:~
-v para detalhado. -e "opções ssh" para especificar o ssh como shell remoto.
Se seus dados forem compactáveis, você pode querer adicionar -z
para compactar os dados.