* [Comm] Метод однократного выкачивания одинаковых файлов из разных FTP.
@ 2006-06-28 15:47 ABATAPA
2006-06-29 7:19 ` Michael Shigorin
0 siblings, 1 reply; 3+ messages in thread
From: ABATAPA @ 2006-06-28 15:47 UTC (permalink / raw)
To: ALT Linux Community
Доброго дня!
Даже не знаю - сюда ли писАть, изи в курилку. :)
Всем нам приходилось качать, скажем, рекурсивные FTP-каталоги с помощью
wget -r. Иногда - довольно большие.
Представим ситуацию, что у нас есть уже выкачанный каталог, и мы хотим скачать
из _другого_ источника с _другой_ структурой только те файлы, которые у нас
отсутствуют в любой "точке" первого каталога. FTP, как правило,
команду 'SITE' не поддерживают, да и работают в chroot-окружении, так
что 'SITE md5sum' на каждый файл не сделать.
Как качать только отсутствующие файлы, _при этом сохраняя структуру_?
На вскидку на ум приходят варианты:
1. Скрипт, который будет получать листинг, проверять каждое имя в локальном
листинге, при нахождении - сверять размер (других-то данных нет), если
совпадение и по имени, и по размеру не найдено - выкачивать с сохранением
пути папок и занисением в локальный листинг.
2. Сделать жесткие ссылки _всех_ файлов имеющегося каталога в некий каталог,
далее качать wget-ом, скажем, с ключами '-nd -nc', после из лога "вытаскивать"
путь, создавать его в локальной папке, и переносить файл. По окончании линки
удалить.
Недостаток - не смогут быть обработаны файлы с одинаковым именем, но с разным
размером.
А как бы поступили вы?
--
ABATAPA
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Comm] Метод однократного выкачивания одинаковых файлов из разных FTP.
2006-06-28 15:47 [Comm] Метод однократного выкачивания одинаковых файлов из разных FTP ABATAPA
@ 2006-06-29 7:19 ` Michael Shigorin
2006-06-29 15:04 ` ABATAPA
0 siblings, 1 reply; 3+ messages in thread
From: Michael Shigorin @ 2006-06-29 7:19 UTC (permalink / raw)
To: ALT Linux Community
On Wed, Jun 28, 2006 at 07:47:31PM +0400, ABATAPA wrote:
> Представим ситуацию, что у нас есть уже выкачанный каталог, и
> мы хотим скачать из _другого_ источника с _другой_ структурой
> только те файлы, которые у нас отсутствуют в любой "точке"
> первого каталога.
Можно пример "на пальцах"?
> А как бы поступили вы?
Если понял одну задачу -- rsync или lftp mirror, если другую
-- рисовал бы скриптик, скорее ближе к (1).
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Comm] Метод однократного выкачивания одинаковых файлов из разных FTP.
2006-06-29 7:19 ` Michael Shigorin
@ 2006-06-29 15:04 ` ABATAPA
0 siblings, 0 replies; 3+ messages in thread
From: ABATAPA @ 2006-06-29 15:04 UTC (permalink / raw)
To: ALT Linux Community
29 июня 2006 11:19, Michael Shigorin написал:
> Можно пример "на пальцах"?
На пальцах: качаем, например, 10G архивов, которые отсортированы владельцем
так, как ему угодно:
root
|----A
| |-----00
| | |------- file1-a.ext
| | |------- file2-a.ext
......
| | |------- another_file.ext
| |-----01
| | |------- file100-a.ext
| | |------- file200-a.ext
......
| | |------- another_file_1.ext
|
|-----B
.......
А у другого все так:
|----pub
|---my
|---super
|----archive
|----01.01.06
| |------- file1.ext
|
|----01.02.06
|------- file_x.ext
Словом, файлы разбросаны - как Бог на душу положит.
А перекачивать гигабайты напрасно и потом это сортировать...
> Если понял одну задачу -- rsync или lftp mirror, если другую
> -- рисовал бы скриптик, скорее ближе к (1).
rsync, wget -m и т.д. тут не помогут (разве что качать все в один каталог, как
`wget -nd`).
--
ABATAPA
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2006-06-29 15:04 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-06-28 15:47 [Comm] Метод однократного выкачивания одинаковых файлов из разных FTP ABATAPA
2006-06-29 7:19 ` Michael Shigorin
2006-06-29 15:04 ` ABATAPA
ALT Linux Community general discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
public-inbox-index community
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.community
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git