Continuar cp abortado

17

¿Es posible cpvolver a ejecutar después de que se canceló y hacer que comience donde terminó la última vez (no sobrescribir los datos que ya se copiaron, solo copiar lo que aún queda)?

Phil
fuente

Respuestas:

32

Son casos como este que me han enseñado a usar rsyncdesde el principio. Sin embargo, en su caso, puede usar rsync ahora. Solo copiará datos nuevos, incluso si se cpdetiene a la mitad de un archivo grande.

Puedes usarlo como cp, así:

rsync --append /where/your/copying/from /where/you/want/to/copy
Rory
fuente
3
O --append-verifypara comparar sumas de comprobación al final solo para estar seguro.
Zaz
7

Use el modificador -u y vea la página de manual de cp.

Sven
fuente
pero los archivos fuente no cambiaron ni nada
Phil
1
la -u es para la 'actualización' solamente ... es decir: no lo puedo sobrescribir los archivos existentes en el destino si son iguales o más nuevo ...
ericslaw
2
Si usa -u, copiará el mismo archivo grande nuevamente. -u solo ayuda si intentas reanudar una copia recursiva grande.
Rory
7

En caso de que el abortado cpfuera una copia recursiva, es posible que desee reanudar con rsync, incluida la opción --recursive.

Ejemplo

Comando de copia anulada:

cp -r source-directory destination-directory

Supongamos que destination-directoryya existía, por lo que este comando copia creó un directorio llamado source-directory dentro destination-directory . Esto se puede reanudar a través de:

rsync --recursive --append source-directory destination-directory

Tenga en cuenta que las barras diagonales finales tienen un significado preciso en las opciones de ruta rsync.

En este caso, el comando copiar podría haber obtenido el argumento source-directoryo source-directory/no hace la diferencia. En el comando rsync, sin embargo, debe ser source-directory sin barra diagonal final .

Jan-Philip Gehrcke
fuente