Existe uma maneira de pausar um processo scp já em execução?

Existe uma maneira de pausar um processo scp já em execução?

Estou copiando um arquivo grande usando scpe 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 scpjá 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 -luma lista de sinais e use pspara 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 -zpara compactar os dados.

informação relacionada