Лучший способ продолжить остановленное движение (MV) путем слияния каталогов?


18

Я переместил (mv) довольно большой каталог на моем NAS (на базе Linux), но пришлось прервать процедуру. Не будучи обычным пользователем Linux, я мог бы продолжить и объединить остальные позже.

mv /oldisk/a /newdisk

Процедура на полпути выполнена, поэтому остальная часть / oldisk / a все еще существует, а / newdisk / a с уже скопированными файлами уже присутствует. Я понятия не имею, какие файлы уже были скопированы. Кстати, в / oldisk / a, конечно, много подкаталогов.

Как лучше всего переместить / объединить оставшиеся файлы в / newdisk / a?

Ответы:


28

rsync --verbose --archive --dry-run /oldisk/a/ /newdisk/a/

--dry-run(Или -n) будет делать сухой прогон, показывая вам , что он будет делать на самом деле , не делая ничего.

Если все выглядит нормально, запустите rsync без -nопции.

Это будет копия, а не ход, что не совсем то, что вы делаете, но безопаснее. --archive(Или -a) обеспечивает все права собственности и временные метки метаданные сохраняются (что регулярная копия не будет).


2
Копирование в порядке, всегда можно удалить старый каталог позже.
Хорст Уолтер

4
Вы можете использовать, --remove-source-filesчтобы удалить файлы, которые были успешно скопированы. Кроме того, -Pили --progressпокажет оценку того, сколько еще файлов нужно сделать.
Deltab

1
Итак, как пример движения:rsync --remove-source-files --recursive --times --crtimes 1/* 2/
Шридхар Сарнобат

1
@deltab, --progress рисует новую полосу для каждого отдельного файла, вместо этого --info = progress2 для всего трансфера.
把 友情 留 在 无 盐

Вау, это довольно грустно. Mv определенно сломлен, потому что ему нужны другие инструменты, чтобы делать то, что он должен делать сам. Я только что узнал об этом, mv отказывается писать в существующий каталог, что довольно жалко. Время заменить эту команду на что-то более функциональное.
nigratruo
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.