Настройка обмена РИБ через RSYNC

Поработав полгода на технологии обмена РИБ 1С через FTP (подробности тут), было решено перейти на более совершенную технологию передачи данных, более устойчивую к плохим каналам связи, и с расширенными возможностями - Rsync (подробности тут). Данная программа позволяет не просто докачивать файлы, наподобие FTP клиентов, а передавать побайтовые изменения файлов через сеть. Также эта программа позволяет делать компрессию передаваемых данных "на лету". Это позволяет потенциально минимизировать трафик до неприлично маленьких значений.

Соответственно надо для начала, как и тут, создать первоначальный обмен данными между клиентом и сервером в отдельной папке.
На сервере надо:
  1. Скачать файл servobmen.7z и распаковать. Там будет папка обмена для файлов 1С, и скрипт запуска 1С.
  2. Скачать файл server_rsync_install.7z. Установить программу cwRsyncServer_4.1.0_Installer.exe, и затем в путь установки (обычно это "C:\Program Files\ICW\") заменить файлы из аналогичной папки из архива. Там находятся базовые настройки RSYNC для сервера. При желании - изменить логины/пароли передачи данных.
  3. Изменить настройки 1С для новой папки обмена, и Важно! - выключить компрессию выгружаемых файлов обмена! Теперь 1С будет выгружать файлы в формате .xml
  4. Открыть порт 873 для службы Rsync.
  5. Сделать в планировщике задач ежечасный запуск с 7:00 скрипта 1cobmen.cmd
На клиенте надо:
  1. Скачать файл Client_obmen.7z и распаковать в диске C: (пути можно легко менять в настройках при необходимости).
  2. В скрипте testver.vbs подправить пути к программе 1С при необходимости.
  3. Изменить настройки в скриптах, особенно в varis.cmd
  4. Настроить в 1С экспорт и импорт РИБ в новую папку c:\obmen\done. Выключить везде компрессию данных!
  5. Сделать в планировщике задач ежечасный запуск с 7:30 скрипта startdownload.cmd
Соответственно это решение позволяет повысить скорость и надежность процесса обновления РИБ 1С до невиданных высот. Из-за отключенной компрессии, забирается меньше ресурсов, как на сервере, так и на клиенте. Если канал связи слабый, и клиент не успевает скачать 500мб файл с сервера, и сервер успевает выложить обновленный файл, то клиент докачивает из такого файла только изменения.

Внимание! Передача логинов/паролей и данных в вышеприведенном решении производится в открытом виде, и конечно могут быть перехвачены. Для полной конфиденциальности надо шифровать трафик сторонними решениями, например VPN.
ċ
Client_obmen.7z
(1328k)
Raymond superadmin,
5 дек. 2012 г., 0:35
ċ
server_rsync_install.7z
(3732k)
Raymond superadmin,
5 дек. 2012 г., 0:23
ċ
servobmen.7z
(27k)
Raymond superadmin,
5 дек. 2012 г., 0:22