Estoy copiando un archivo grande usando scp
y me di cuenta de que es posible que el destino no tenga suficiente espacio para finalizar. ¿Hay alguna manera de pausarlo, posiblemente durante varias horas, y reanudarlo más tarde? Además, si falla ( no space left on device
), ¿podré reanudarlo una vez que haya liberado algo de espacio?
(Tenga en cuenta que scp
ya se está ejecutando; soluciones como usar un programa diferente no funcionarán).
Respuesta1
Puedes pausar un proceso con SIGSTOP y luego continuarlo con SIGCONT. (Consulte kill -l
para obtener una lista de señales y utilícela ps
para obtener la identificación del proceso).
Sin embargo, existe una gran posibilidad de que esto no funcione. Por ejemplo, si tiene un enrutador entre su origen y destino que detecta y "limpia" una conexión inactiva. La mayoría de los enrutadores SOHO parecen hacer esto porque limpiar las conexiones significa menos uso de memoria. (Y así pueden construir enrutadores más baratos).
Si eso sucede, necesitarás copiar nuevamente con scp o puedes usar rsync.
Rsync tiene la ventaja de que compara archivos ya existentes y no copia datos innecesariamente. En su caso, debería detectar un archivo ya presente, parcialmente cargado y solo cargar el resto del archivo.
La sintaxis seríarsync -v -e ssh /home/my_file [email protected]:~
-v para detallado. -e "opciones de ssh" para especificar ssh como shell remoto.
Si sus datos se pueden comprimir, es posible que desee agregarlos -z
para comprimirlos.