Continuer avorté cp


17

Est-il possible de réexécuter cpaprès qu'il a été abandonné et de le faire recommencer là où il s'est terminé la dernière fois (ne pas écraser les données déjà copiées, ne copier que ce qui reste)?

Réponses:


32

Ce sont des cas comme celui-ci qui m'ont appris à utiliser rsyncdès le départ. Cependant, dans votre cas, vous pouvez utiliser rsync maintenant. Il ne copiera que les nouvelles données, y compris s'il est cparrêté à mi-chemin d'un gros fichier.

Vous pouvez l'utiliser comme cp, comme ceci:

rsync --append /where/your/copying/from /where/you/want/to/copy

3
Ou --append-verifypour comparer les sommes de contrôle à la fin juste pour être sûr.
Zaz

7

Utilisez le commutateur -u et consultez la page de manuel cp.


mais les fichiers source n'ont pas changé ou quoi que ce soit
Phil

1
le -u est pour 'mise à jour' seulement ... ie: il n'écrasera pas les fichiers existants dans la destination s'ils sont identiques ou plus récents ...
ericslaw

2
Si vous utilisez -u, il copiera à nouveau le même gros fichier. -u n'aide que si vous essayez de reprendre une grande copie récursive.
Rory

7

Dans le cas où l'avortement cpétait une copie récursive, vous souhaiterez peut-être reprendre avec rsync, y compris l'option --recursive.

Exemple

Commande de copie abandonnée:

cp -r source-directory destination-directory

Supposons que cela destination-directoryexiste déjà, afin que cette commande de copie crée un répertoire nommé source-directory dans destination-directory . Cela peut être repris via:

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

Notez que les barres obliques de fin ont une signification précise dans les options de chemin rsync.

Dans ce cas, la commande copy aurait pu obtenir l'argument source-directoryou source-directory/cela ne fait aucune différence. Dans la commande rsync, cependant, il doit être source-directory sans barre oblique de fin .


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.