Я использую rsync для копирования файлов в течение некоторого времени. Насколько я понимаю, rsync работает быстрее, чем cp, когда некоторые файлы для передачи уже находятся в целевом каталоге, передавая только инкрементную разницу (т. Е. «Дельты»).
Если это правильно, будет ли какое-либо преимущество использования rsync для перемещения содержимого папки A , скажем, папки B , где B пусто?
Папка A содержит около 1 ТБ данных (и миллионы файлов в ней). Передача будет осуществляться по локальной сети ( A и B находятся в разных файловых системах, оба смонтированы на суперкомпьютере, например, A - NFS, а B - блеск ).
Кроме того, какие флаги я должен использовать, чтобы попросить rsync переместить (не копировать) файлы из A в B (т.е. удалить A, когда передача успешно завершится)?
mv
быстрее?
mv
не может работать через сеть - он должен полагаться на локальное монтирование (например, NFS). Если узкое место в сети, rsync
вероятно , будет быстрее , чем mv
из - за rsync
может сделать сжатие.
cp
есть -u
возможность скопировать исходный файл, если он новее, чем целевой файл или если целевой файл отсутствует
rsync
может заменитьmv
. Я ожидалmv
бы быть быстрее на большинстве типов файловых систем, когда источник и место назначения находятся в одной и той же файловой системе, потомуrsync
что должен был бы сделать копию несмотря ни на что, и,mv
вероятно, мог бы избежать изменения нескольких записей каталога. Самая близкая вещь, которую я могу найти,rsync mv
- это--remove-source-files
команда, но она не удаляет каталоги.