Назад | Перейти на главную страницу

Продолжить прерванный cp

Можно ли запустить cp снова после того, как он был прерван, и запустить его там, где он закончился в прошлый раз (не перезаписывать данные, которые уже скопированы, а копировать только то, что осталось)?

Именно такие случаи научили меня использовать rsync с самого начала. Однако в вашем случае вы можете использовать rsync сейчас. Он будет копировать только новые данные, в том числе если cp остановился на полпути через большой файл.

Вы можете использовать его так же, как cp, например:

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

В случае прерывания cp была рекурсивной копией, вы можете возобновить работу с rsync, включая параметр --recursive.

пример

Команда прерванного копирования:

cp -r source-directory destination-directory

Предположим, что destination-directory уже существует, поэтому эта команда копирования создала каталог с именем source-directory в пределах destination-directory. Это можно возобновить с помощью:

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

Обратите внимание, что завершающие косые черты имеют точное значение в параметрах пути rsync.

В этом случае команда копирования могла получить аргумент source-directory или source-directory/, это не имеет значения. Однако в команде rsync он должен быть source-directory без слеша в конце.

Используйте ключ -u и просмотрите справочную страницу cp.

rsync также является отличным инструментом: справочная страница -> http://www.manpagez.com/man/1/rsync/