Бесплатные и условно бесплатные программные продукты для создания
автоматического "зеркалирования" Web-сервера
Наша задача состоит в реализации механизма, позволяющего серверу, расположенному за пределами организации – "зеркалу", автоматически и надежно отслеживать все изменения, происходящие на нашем корпоративном, "эталонном" сервере.
Специфические особенности желаемого механизма:
- Пересылать по каналам только действительно новые
файлы, а не все содержимое Web-сервера целиком
- "Отслеживание" подразумевает не только
тиражирование новых пополнений на эталонном сервере, но и удаление тех
файлов, чей оригинал был стерт
- Поскольку все в дальнейшем все более будут
внедряться интерфейсы CGI и вообще принцип динамического создания страниц,
то более предпочтимым протоколом для отслеживания состояния эталонного
сервера является не HTTP, а FTP.
- Поскольку одно из зеркал предполагается иметь в на плохом, периодически отключаемом канале, то необходимо иметь (или разработать) вариант, когда пополнение такого сервера новой информации осуществляется по электронной почте.
Пакеты, написанные отдельными
программистами или коллективами
Характеризуются простотой реализации и отсутствием поддержки в настоящее время.
- Программа
Getwww представляет собой робот, отслеживающий по
ссылкам и загружающий с удаленного Web-узла полное дерево html-файлов,
включая картинки. В настоящее время эта программа поставляется в комплекте с
Linux.
исходный код на C++ (61к)
получение информации с удаленного Web-узла по протоколу HTTP
Автор In-sung Kim 1996.
Источник - ftp.kaist.ac.kr:/pub/www/
Утилита командной строки Webcopy. Функционально аналогична
предыдущей программе, однако более универсальна, поскольку написана на языке
Perl.
маленькая программа на Perl (20к)
получение информации с удаленного Web-узла по протоколу HTTP
Victor Parada 1994-96.
Источник - http://www.inf.utfsm.cl/~vparada/webcopy.html
Утилита копирования с удаленного сервера Mirror 2.8. С одной
стороны, эта программа универсальна, поскольку написана на Perl (89к). С
другой стороны, получение информации с удаленного узла осуществляется по
протоколу FTP, что тоже отвечает нашим требованиям
Автор - Lee McLoughlin 1993-95
Источник - http://www.perl.com/CPAN/scripts/ftpstuff.
В настоящее время данная программа входит в состав поставки Free BSD и нами для "зеркалирования" используется ее предыдущая версия 2.3
К сожалению, программа не обновлялась уже два года и не поддерживает символьные связи, используемые нами на сервере в системе паролевого доступа.
Пакеты, написанные профессиональными программистами
Компактная система зеркалирования для Novell mirror (28к), разработанная британским
исследовательским отделом данной фирмы (Enterprise Solutions Division -
Packaged & Released by Novell UK,) в 1995 году. Получение информации с
удаленного узла осуществляется по протоколу FTP. К сожалению, программа
поставляется только в бинарном коде.
Утилита получения файлов удаленного Web-узла Wget.
Поддерживается программистами Hrvoje Niksic, Gordon Matzigkeit и Darko Budor
1995-97 гг. на грант от Free Software Foundation, Inc. Поставляется в
исходном коде на C++ (406к) и позволяется получать информацию по протоколам
HTTP и FTP. По функциям аналогичен пакету Mirror 2.8, но уже коррекно
обрабатывает символьные связи файловой системы Unix. Источник ftp://prep.ai.mit.edu/pub/gnu
Утилита Rsync 1.6.3 исходно предназначена для синхронизации
каталогов на различных файловых серверах, но она также подходит для нашей
цели. В качестве транспортного протокола используются Rsh (или Ssh), что
подразумевает полный контроль администратора как над эталонным сервером, так
и над зеркальным. Другой особенностью утилиты является то, что она позволяет
производить не только копирование с удаленной машины, но и наоборот, на нее.
Следовательно, мы имеем с ее помощью возможность создавать более сложные
системы синхронизации эталонного и зеркального серверов. К сожалению, я
столнулся с проблемами при попытке "с ходу" инсталлировать эту
программу.
Пакет разработан на грант от Free Software Foundation, Inc. в 1996 году и
поставляется в исходном коде на C++ (1063к). Авторами являются Andrew Tridgell
и Paul Mackerras. Источник -
ftp://sunsite.auc.dk/pub/unix/rsync
Итоги
- Среди представленных пакетов не нашлось такого,
который бы для тиражирования информации с эталонного сервера предусматривал
использование электронной почты.
- На настоящее время нет систем, приводящих в соответствие на различных серверах Unix счетчики и файлы регистрации.
back