Как переместить несколько терабайт файлов с нестабильным NFS-соединением?

687

Я унаследовал проприетарную распределенную систему хранения, которая предоставляет свои файлы через NFS. Мне нужно переместить эти файлы из системы. Проблема в том, что ссылки NFS считаются устаревшими, прежде чем я смогу перечислить - пусть и перемещать - даже скромную часть файлов. Текущее решение состоит в том, чтобы перезапускать клиент NFS при каждом cp -aur *сбое вызова, но это становится очень неэффективным, так как число скопированных файлов растет.

Любой совет?

1

2 ответа на вопрос

5
djhowell

Вместо этого используйте rsync.

$ rsync -rav /path/to/nfsmount /path/to/local 

Вы можете удалить 'v', если вам все равно, чтобы он был подробным, и перечислите файлы. Если монтирование nfs устарело до его завершения, просто запустите его снова и rsync скопирует только то, что пропустило.

0
Michael Dillon

Когда я сталкивался с подобной ситуацией в прошлом, я всегда копировал вещи по одному каталогу за раз, чтобы мне не приходилось каждый раз перезагружаться в начале.

В качестве альтернативы я бы начал с создания сценария оболочки, который неоднократно вызывает «cp» для копирования по одному файлу за раз. Затем, когда это не удается, я редактирую сценарий оболочки, чтобы удалить строки, относящиеся к файлам, которые были успешно скопированы, и перезапускаю сценарий.