[Comm] Метод однократного выкачивания одинаковых файлов из разных FTP.
ABATAPA
=?iso-8859-1?q?altlinux-community_=CE=C1_yandex=2Eru?=
Ср Июн 28 19:47:31 MSD 2006
Доброго дня!
Даже не знаю - сюда ли писАть, изи в курилку. :)
Всем нам приходилось качать, скажем, рекурсивные FTP-каталоги с помощью
wget -r. Иногда - довольно большие.
Представим ситуацию, что у нас есть уже выкачанный каталог, и мы хотим скачать
из _другого_ источника с _другой_ структурой только те файлы, которые у нас
отсутствуют в любой "точке" первого каталога. FTP, как правило,
команду 'SITE' не поддерживают, да и работают в chroot-окружении, так
что 'SITE md5sum' на каждый файл не сделать.
Как качать только отсутствующие файлы, _при этом сохраняя структуру_?
На вскидку на ум приходят варианты:
1. Скрипт, который будет получать листинг, проверять каждое имя в локальном
листинге, при нахождении - сверять размер (других-то данных нет), если
совпадение и по имени, и по размеру не найдено - выкачивать с сохранением
пути папок и занисением в локальный листинг.
2. Сделать жесткие ссылки _всех_ файлов имеющегося каталога в некий каталог,
далее качать wget-ом, скажем, с ключами '-nd -nc', после из лога "вытаскивать"
путь, создавать его в локальной папке, и переносить файл. По окончании линки
удалить.
Недостаток - не смогут быть обработаны файлы с одинаковым именем, но с разным
размером.
А как бы поступили вы?
--
ABATAPA
Подробная информация о списке рассылки community