Бесплатные и условно бесплатные программные продукты для создания автоматического "зеркалирования" Web-сервера

Наша задача состоит в реализации механизма, позволяющего серверу, расположенному за пределами организации – "зеркалу", автоматически и надежно отслеживать все изменения, происходящие на нашем корпоративном, "эталонном" сервере.

Специфические особенности желаемого механизма:

  1. Пересылать по каналам только действительно новые файлы, а не все содержимое Web-сервера целиком
  2. "Отслеживание" подразумевает не только тиражирование новых пополнений на эталонном сервере, но и удаление тех файлов, чей оригинал был стерт
  3. Поскольку все в дальнейшем все более будут внедряться интерфейсы CGI и вообще принцип динамического создания страниц, то более предпочтимым протоколом для отслеживания состояния эталонного сервера является не HTTP, а FTP.
  4. Поскольку одно из зеркал предполагается иметь в на плохом, периодически отключаемом канале, то необходимо иметь (или разработать) вариант, когда пополнение такого сервера новой информации осуществляется по электронной почте.

Пакеты, написанные отдельными программистами или коллективами

Характеризуются простотой реализации и отсутствием поддержки в настоящее время.

  1. Программа Getwww представляет собой робот, отслеживающий по ссылкам и загружающий с удаленного Web-узла полное дерево html-файлов, включая картинки. В настоящее время эта программа поставляется в комплекте с Linux.

    исходный код на C++ (61к)

    получение информации с удаленного Web-узла по протоколу HTTP

    Автор In-sung Kim 1996.

    Источник - ftp.kaist.ac.kr:/pub/www/

  2. Утилита командной строки Webcopy. Функционально аналогична предыдущей программе, однако более универсальна, поскольку написана на языке Perl.

    маленькая программа на Perl (20к)

    получение информации с удаленного Web-узла по протоколу HTTP

    Victor Parada 1994-96.

    Источник - http://www.inf.utfsm.cl/~vparada/webcopy.html

  3. Утилита копирования с удаленного сервера Mirror 2.8. С одной стороны, эта программа универсальна, поскольку написана на Perl (89к). С другой стороны, получение информации с удаленного узла осуществляется по протоколу FTP, что тоже отвечает нашим требованиям

    Автор - Lee McLoughlin 1993-95

    Источник - http://www.perl.com/CPAN/scripts/ftpstuff.

    В настоящее время данная программа входит в состав поставки Free BSD и нами для "зеркалирования" используется ее предыдущая версия 2.3

    К сожалению, программа не обновлялась уже два года и не поддерживает символьные связи, используемые нами на сервере в системе паролевого доступа.

    Пакеты, написанные профессиональными программистами

  4. Компактная система зеркалирования для Novell mirror (28к), разработанная британским исследовательским отделом данной фирмы (Enterprise Solutions Division - Packaged & Released by Novell UK,) в 1995 году. Получение информации с удаленного узла осуществляется по протоколу FTP. К сожалению, программа поставляется только в бинарном коде.
  5. Утилита получения файлов удаленного 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
  6. Утилита Rsync 1.6.3 исходно предназначена для синхронизации каталогов на различных файловых серверах, но она также подходит для нашей цели. В качестве транспортного протокола используются Rsh (или Ssh), что подразумевает полный контроль администратора как над эталонным сервером, так и над зеркальным. Другой особенностью утилиты является то, что она позволяет производить не только копирование с удаленной машины, но и наоборот, на нее. Следовательно, мы имеем с ее помощью возможность создавать более сложные системы синхронизации эталонного и зеркального серверов. К сожалению, я столнулся с проблемами при попытке "с ходу" инсталлировать эту программу.

Пакет разработан на грант от Free Software Foundation, Inc. в 1996 году и поставляется в исходном коде на C++ (1063к). Авторами являются Andrew Tridgell и Paul Mackerras. Источник - ftp://sunsite.auc.dk/pub/unix/rsync

Итоги

  1. Среди представленных пакетов не нашлось такого, который бы для тиражирования информации с эталонного сервера предусматривал использование электронной почты.
  2. На настоящее время нет систем, приводящих в соответствие на различных серверах Unix счетчики и файлы регистрации.

 back