Тема: posload на v49
Сообщение отдельно
18.10.2012 11:38
работаем со встроенным posload'ом, ибо внешнего нету.
Практикуем два способа:


Способ I, кассы работают с локальным СМ:

1. В настройках сервера параметр "Конфигурационная группа по-умолчанию" выставить в "Кассы регистрироваться не будут";
2. после первого запуска кассы войти на неё по ssh и, убедившись по логам, что касса ломится на сервер за конфигурацией, сделать
/etc/init.d/ukmclient stop
3. В настройках сервера параметр "Конфигурационная группа по-умолчанию" выставить в "Консольная" (если нет такой - предварительно создать, клавиатура PC, консоль, файловый принтер);
4. войти в /usr/local/ukmclient
5. запустить ukmclient.sh
6. после предпрогрузки кассы данными на экране замерцает цветная хрень - уверенно набираем номер кассы (там "зарегистрируйте кассу"), жмём энтер, ещё раз энтер (в ответ на вопрос "уже есть и заблокирован. Продолжить?"). По логам смотрим за процессом, как только finished - ещё раз жмём энтер (в ответ на вопрос "Разблокировать?").
7. правильная конфигурационная группа подцепится из использовавшейся ранее из настроек терминала. Как только прогрузка завершилась (за процессом можно следить из WEBа сервера "Кассы" - "Подробно"), говорим кассе reboot.


II способ, кассы работают напрямую с СГО, который далеко в офисе:

1. разворачиваем в офисе стенд (хотя бы PC-шный на любом компе в отдельной базе, скрипты sql берём из дистрибутива УКМ, но лучше делать в линухе), заливаем кассу на него, прогружаем, регистрируем, ждём окончания всех процессов.
2. останавливаем все сервисы (клиент УКМ, сервер mysql. Если линух, то:
/etc/init.d/ukmclient stop
service mysql stop
3. архивируем файлы БД в tgz (вот почему лучше на линухе):
cd /usr/local/mysql/var
tag -czf /cash_db.tgz ./*
4. удалённую кассу перезаливаем кассу и выполняем п.п.1-2 Способа I
5. service mysql stop
6. копируем на кассу архив БД (например, в корневую папку /);
7. удаляем содержимое папки /usr/local/mysql/var, переходим в неё
8. tar xzf /cash_db.tgz
9. на всякий случай удалить файлы ib_logfile0 и ib_logfile1 - они зависят от настроек my.cnf, если они различались. При запуске mysql они пересоздадутся.
10. service mysql start
11. /etc/init.d/ukmclient start (предварительно убедиться в том, что конфигурация правильная).

В принципе, можно и способ I использовать, но при не слишком широких и не очень стабильных каналах связи экономия времени в Способе II существенная.
Можно архивировать и 7zipом, мы используем дистрибутив p7zip-9.20.1-1.el4.rf.i386.rpm, архивируя БД с минимальной компрессией и томами по 1 МБайт (чтобы в случае обрывов связи можно было продолжить копирование с прерванного места).

Пример команды упаковки:
7za a -mx1 -r -y -v1m /tmp/cash02_data.7z /usr/local/mysql/var/ibdata1 /usr/local/mysql/var/mysql /usr/local/mysql/var/ukmclient

Дистрибутив 7za и его установку закатали в файл ukmcli-build.tgz. http-сервис с папкой ukminstall предварительно поднят на каком-нибудь магазинном сервере видеонаблюдения, например.
7zip жмёт раза в два дольше, но архив получается раза в два короче, на перекачку через интернет времени требуется ещё меньше.

Пример команды распаковки:
cd /usr/local/mysql/var
7za x /tmp/cash02_data.7z.001

При определённой сноровке работающую напрямую с СГО кассу с двухлетней историей продаж мы восстанавливаем за четыре часа.