Публичное пространство

SetRetail10 ◾️ Перенос (клонирование) сервера приложений и кассового модуля

Сервер

При резервном копировании сервера все данные и настройки хранятся в БД.

Быстрее будет установить дистрибутив с «нуля», обновить патчем до нужной версии. После чего развернуть базу данных.

Новый сервер:

  1. Установите на новом сервере версию SetRetail10 такой же версии, как и на сервере, с которого будет выполнятся перенос.
  2. Установка сервера магазина должна быть произведена с таким же номером магазина, как и на старом сервере.
  3. Версия СУБД PostgreSQL на новом сервере должна быть такой же, как и на старом.

Резервное копирование сервера

1. Очистите очереди на сервере в set в следующих таблицах:

  • trs_file_packets_for_send - очередь настроек, кассиров на кассы.
  • file_transfer_cards_all_data_type - очередь карт.
  • discounts_file_for_cashes - очередь акций с магазина на кассы.
  • discounts_file_for_shops - очередь акций с Centrum на Retail.
  • un_cg_product_file_for_cashes - очередь товаров на кассы.
  • un_cg_product_file_for_shops - очередь товаров с Centrum на Retail.
  • un_cg_rejected_product - отклоненные товары.

Выполните скрипт:

Для SetRetail
TRUNCATE trs_file_packets_for_send CASCADE;
TRUNCATE file_transfer_cards_all_data_type CASCADE;
TRUNCATE discounts_file_for_cashes CASCADE;
TRUNCATE un_cg_product_file_for_cashes CASCADE;
TRUNCATE un_cg_rejected_product CASCADE;
Для SetCentrum
TRUNCATE trs_file_packets_for_send CASCADE;
TRUNCATE file_transfer_cards_all_data_type CASCADE;
TRUNCATE discounts_file_for_cashes CASCADE;
TRUNCATE un_cg_product_file_for_cashes CASCADE;
TRUNCATE un_cg_rejected_product CASCADE;

--Очистка заданий на магазины
TRUNCATE un_cg_product_file_for_shops CASCADE;
TRUNCATE discounts_file_for_shops CASCADE;


Windows

1. Остановите службы сервера SetRetail:

  • nginx
  • Set: Retail10 Server Configuration Manager
  • Setv10 Application Server

2. Выполните резервное копирование следующим способом.

3. Скачайте средство бэкапирования сервера ArcSet10 и настройте его.

4. Запустите файл Setv10backup_server.bat

5. Дождитесь окончания бэкапирования.

Важно

Процесс бэкапирования баз данных может занять продолжительное время от 10 минут до 2,5 часов в зависимости от размера данных.


6.  Перейдите в папку LOG и проверьте, что лог-файлы не содержат ошибок.

7. Актуальные файлы бэкапов будут сохранены в папке current:

Linux

1. Остановите службы сервера SetRetail:

service JBOSS_SVC stop
service SCM_SVC stop
service nginx stop

2. Выполните резервное копирование следующим способом

3. Скачайте средство бэкапирования сервера ArcSet10 для серверов Linux.

4. Установите настройки средства бэкапирования баз данных SetRetail10 для перевода БД, а затем сделайте резервные копии БД.

Откройте на редактирование средство бэкапирования SaveDMImage.sh.

По умолчанию папка для сохранения бэкапов БД /tmp, вы можете изменить её по своему желанию.

Также, если у вас используется другой пароль к серверу СУБД PostgreSQL, установите его.

4. Запустите бэкапирование баз данных сервера

В зависимости от места расположения инструмента бэкапирования, запустите SaveDBImage.sh

Важно

Процесс бэкапирования баз данных может занять продолжительное время от 10 минут до 2,5 часов в зависимости от размера данных.

5. Выполните команду:

sudo sh /var/lib/jboss/pg9/SaveDBImage.sh &

6. Наберите команду mc для перехода в папку, куда создаются архивы

Проверьте наличие файлов дампа БД.

Проверьте в лог-файлах, что бэкапирование прошло корректно.

Убедитесь, что сохранение БД прошло без ошибок.

Восстановление данных на новом сервере

Windows

1. Остановите службы сервера SetRetail:

  • nginx
  • Set: Retail10 Server Configuration Manager
  • Setv10 Application Server

2. Скопируйте бэкапы баз данных в папку с PostgreSQL на новом сервере по пути {Disk}\PostgreSQL\bin

3. Запустите командную строку от имени Администратора.

4. Перейдите в папку с сервером СУБД PostgreSQL {Disk}\PostgreSQL\bin

5. Выполните следующие команды переименования баз данных установленного сервера:

set PGPASSWORD=postgres
psql.exe --host localhost --port 5432 --username postgres -t -c "ALTER DATABASE set RENAME TO set_old"
psql.exe --host localhost --port 5432 --username postgres -t -c "ALTER DATABASE set_loyal RENAME TO set_loyal_old"
psql.exe --host localhost --port 5432 --username postgres -t -c "ALTER DATABASE set_operday RENAME TO set_operday_old"

6. Создайте новые базы данных, выполнив следующие команды:

set PGPASSWORD=postgres
psql.exe --host localhost --port 5432 --username postgres -t -c "CREATE DATABASE set"
psql.exe --host localhost --port 5432 --username postgres -t -c "CREATE DATABASE set_loyal"
psql.exe --host localhost --port 5432 --username postgres -t -c "CREATE DATABASE set_operday"

7. Назначьте созданным базам данным необходимые права, выполнив следующие команды.

set PGPASSWORD=postgres

psql.exe --host localhost --port 5432 --username postgres --dbname set -t -c "GRANT ALL ON SCHEMA public TO postgres"
psql.exe --host localhost --port 5432 --username postgres --dbname set_loyal -t -c "GRANT ALL ON SCHEMA public TO postgres"
psql.exe --host localhost --port 5432 --username postgres --dbname set_operday -t -c "GRANT ALL ON SCHEMA public TO postgres"

psql.exe --host localhost --port 5432 --username postgres --dbname set -t -c "GRANT ALL ON SCHEMA public TO public"
psql.exe --host localhost --port 5432 --username postgres --dbname set_loyal -t -c "GRANT ALL ON SCHEMA public TO public"
psql.exe --host localhost --port 5432 --username postgres --dbname set_operday -t -c "GRANT ALL ON SCHEMA public TO public"

8. Выполните команды для восстановления баз данных:

Перед восстановлением выполните команду:

set PGPASSWORD=postgres

После выполнения каждой команды на восстановалению баз дождитесь окончание процесса.

В параметре --file введите наименование файла бэкапа базы данных.

Команда на восстановление set:

pg_restore.exe --host localhost --port 5432 --username postgres --dbname "set" --jobs 4 --verbose "set-07_02_2019-15_18_54.backup" >restore_db_set.log 2>&1

Команда на восстановление set_loyal:

pg_restore.exe --host localhost --port 5432 --username postgres --dbname "set_loyal" --jobs 4 --verbose "set_loyal-07_02_2019-15_18_54.backup" >restore_db_set_loyal.log 2>&1

Команда на восстановление set_operday:

pg_restore.exe --host localhost --port 5432 --username postgres --dbname "set_operday" --jobs 4 --verbose "set_operday-07_02_2019-15_18_54.backup" >restore_db_set_operday.log 2>&1

После восстановления проверьте лог-файл на наличие ошибок. Критичных ошибок быть не должно.

9. Проверьте, что таблицы появились в базах данных. Это можно сделать с помощью PgAdmin.

10. Запустите службы сервера SetRetauil10:

  • nginx
  • Set: Retail10 Server Configuration Manager
  • Setv10 Application Server

11. Проверьте, что сервер работает корректно.

Наличие файла Set10.ear.deployed свидетельствует о корректном запуске сервера:

Также проверьте, что log-файл сервера выглядит корректно.

Проверьте, что визуализация сервера запускается:

Дополнительная информация по настройке сервера после восстановления баз данных

Обязательно после восстановления проверьте следующее:

  • В базе данных set в таблице sales_management_properties обязательно проверьте пути интеграции с процессингами, которые у вас настроены.
    • Если на сервере Windows у вас были пути вида {Диск}:\{Папка_SetRetail10}, тогда в Linux они должны быть вида /var/lib/jboss/...
    • Также проверьте пути различных импортов и взаимодействия с внешними процессингами:
      • Интеграция → Импорт/Экспорт.
      • Интеграция → Внешние процессинги.
  • Если перенос осуществлялся с Windows на Linux, и у вас есть папки, которые задействованы в импорте и экспорте данных, тогда установите на них права, например:
    • chmod -R 777 /home/myimport
    • Также рекомендуем установить все права на чтение и запись папки сервера chmod -R 777 /var/lib/jboss

Linux

1. Восстановите данные, используя инструмент по восстановлению.

Откройте Midnight Commander командой mc и перейдите в ту папку, где располагается скрипт для редактирования настроек инструмента восстановления БД.

Укажите папку, где содержатся файлы архивов БД, а также пароль к серверу СУБД.

2. Выполните команду для запуска процесса восстановления:

sudo sh /var/lib/jboss/pg9/RestoreImage.sh &

3. Наберите команду mc для запуска Midnight Commander и посмотрите лог-файлы восстановления БД на отсутствие ошибок.

4. Запустите службы SetRetail10:

service JBOSS_SVC start
service SCM_SVC start
service nginx start

5. Проверьте, что сервер запускается корректно.

Наличие файла Set10.ear.deployed свидетельствует о корректном запуске сервера

Также проверьте, что log-файл сервера выглядит корректно.

Проверьте, что визуализация сервера запускается:

Касса

Подготовка кассы

1. Подключитесь к кассе с помощью PuTTy SSH

  • Логин: tc
  • Пароль: <уточните в службе поддержки CSI>

2. Запусnbnt Midinight Commander mc

3. Удалите лишние данные c полной очисткой следующих папок:

  • Патчи для обновления: crystal-cash\updates
  • Бэкапы, которые делались при обновлениях: crystal-cash\backup
  • Лог-файлы кассового модуля: crystal-cash\logs

Создание резервной копии

1. Выполните команду:

cash backup

Будут остановлены все службы и созданы 2 файла архива БД и кассового модуля:

  • /storage/crystal-cash.tar
  • /storage/postgres-db.tar

2. Если кассовый модуль не загружается после того как создан бэкап, тогда выполните команду:

cash reboot

Восстановление данных на новую кассу

1. Установите чистую кассу, той же версии? что и была касса с на которой была создана резервная копия. Настройте сеть.

2. Скопируйте архивы на кассу в папку /home/storage/

3. Удалите данные старой кассы, для этого откройте Midnight Commander командой

sudo mc

4. Удалите все файлы папках:

  • /mnt/sda1/pgsql/data
  • /mnt/sda1/tce/storage/crystal-cash

5. Выполните команду

cash restore

6. Если кассовый модуль не запустился после восстановления, тогд выполните команду:

cash start

Также рекомендуем прочитать статью Управление базами данных PostgreSQL с помощью PgAdmin

© 1994-2023, ООО «Кристалл Сервис Интеграция».
Все права защищены..

Политика обработки персональных данных