Копирование миллионов файлов - PullRequest
3 голосов
/ 23 декабря 2008

У меня есть около 3 миллионов файлов, которые мне нужно скопировать из одной папки в другую по сети SAN моей компании. Какой лучший способ для меня это сделать?

Ответы [ 6 ]

7 голосов
/ 23 декабря 2008

Если прямое копирование слишком медленное (хотя SAN с кэшированием с обратной записью будет примерно таким же быстрым для этого типа операций), вы можете скопировать файлы в один или несколько архивов, а затем развернуть архивы в пункт назначения. Это немного уменьшит перегрузку диска.

На более умном уровне вы можете сделать трюк с tar или cpio, где вы архивируете файлы и записываете их в стандартный вывод, который вы передаете другому процессу tar / cpio, чтобы распутать их в месте назначения.

Пример команды для этого с tar выглядит так:

tar cf - * | (cd [destination dir] ; tar xf - )

Некоторые SAN также напрямую клонируют том диска.

6 голосов
/ 23 декабря 2008

Если вы на окнах, используйте robocopy. Это очень надежно и построено для подобных ситуаций. Он поддерживает обнаружение мертвых ссылок и может попросить повторить попытки копирования, если одна из них прервана.

4 голосов
/ 23 декабря 2008

Рассматривали ли вы использование rsync ? Это инструмент, использующий алгоритм , который включает вычисление хэшей для фрагментов файлов для сравнения двух сайтов и отправки дельт между сайтами.

2 голосов
/ 23 декабря 2008

Microsoft SyncToy по моему опыту очень хорошо справляется со смешным количеством файлов. И это очень просто в использовании.

1 голос
/ 23 декабря 2008

Теракопия сделает это, я думаю.

http://www.codesector.com/teracopy.php

Или, если на * nix, попробуйте cuteftp.

0 голосов
/ 23 декабря 2008

Если вы спросите меня, это просто лучший способ скопировать с помощью новейшего программного обеспечения системы.

Просто что-то вроде:

cp -pvr /pathtoolddir /pathtonewdir

на linux box будет работать и отлично работать. Любое сжатие между ними просто замедлит процесс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...