PDA

Просмотр полной версии : Где находится сервер R-Keeper



n0rth
05.02.2012, 22:34
Сейчас я это рассматривать не буду.
а можно вот сейчас это рассмотреть...очень горю желанием!)

SH
06.02.2012, 01:50
Ну что ж.
Во-первых, многие называются "сервером" менеджерский компьютер.
Так что давайте структуру рассмотрим подробнее.
Есть база данных, которая стандартно лежит в папке DB - это основная база данных, в которой лежат все справочники и по умолчанию, файл ark6.udb, в котором записаны права доступа и накопительные данные по закрытым сменам.
С этой базой данных работают менеджерские приложения - Редактор, Отчеты, Закрытие дня, Кубы и пр.
Соответственно, эту базу данных найти несложно, достаточно посмотреть, из какой папки реально запускаются эти приложения (не ярлыки к ним, а сами приложения) и найти в этой папке rkeeper.ini (для старых версий - rkeeper6.ini, я не буду писать об отличиях).
В этом файле есть два параметра: alias1 и alias2. В первом задается путь к папке со словарями (собственно DB), во втором - путь к ark6.udb
Кассовые и официантские терминалы с папкой DB не работают!
Они работают с сервером.
На сервере, в частности, есть папка DATABASE и файл local.db. В этом файле помимо прочего прописан путь к папке DB (это должна быть та же самая папка, что и на менеджерском в alias1).
При запуске сервер синхронизирует данные из DB в DATABASE. Таким образом, например, обновляется меню.
Менеджерское приложение Монитор тоже является клиентом сервера и подключается к нему. Так же как клиент сервера умеет работать Редактор, тогда при изменениях данных он может сразу отсылать их на сервер, но это срабатывает не всегда (зависит от версии и от данных).
Где может находится сервер?
Варианта три: выделенный сервер под Windows, сервер на кассе, выделенный сервер под DOS. Последний вариант практически не используется, про него можно забыть.
Если используется сервер на кассе, то в 99,99% случаев (если не чаще) он размещается на кассе с именем UNIT01.
Что это проверить, во первых, надо определить, из какой папки на станции запускается клиент R-Keeper. Надо смотреть файл autoexec.bat, в нем в конце должны быть строки типа:
cd \rkclient
cor.exe
rkeeper6.exe
Во-первых, запуск cor.exe сам по себе почти 100% признак наличия сервера - это приложение предназначено для проверки индексов в DATABASE.
Но теоретически его могут забыть включить, так что его отсутствие - еще не полная уверенность.
По команде cd смотрим, в какую папку осуществляется переход. В данном примере, это стандартная папка RKClient, но могут быть и варианты, например RK или RKCLIENT.679 или еще что-нибудь. В запущенном случае на станции находится несколько клиентов (в частности, так может остаться после апгрейда), обязательно надо смотреть, какой из них рабочий.
Чисто теоретически, папка с рабочим клиентом может быть прописана в autoexec.bat в переменной PATH, но я таких извращенных случаев не встречал: автоматизаторы предпочитают сами себя не путать и прописывать в явном виде.
В общем, если определили папку, то смотрим в ней наличие rkserver.dll, если есть - сервер на этой кассе есть. В этой же папке должен быть файл local.db, и имя сервера в нем должно совпадать с именем сервера в rkeeper6.ini в этой же папке. Теоретически, может быть ситуация (неправильная), когда запускается сервер с одним именем, а станция подключается к другому.
Случай два: выделенный сервер под Windows. Еще раз: это не обязательно та же самая машина, на которой находится менеджерская часть. Если эта машина спрятана, то найти ее может быть нелегко. Собственно, признак один: если при выключении такой машины рабочие станции переходят в режим поиска сервера - значит, на этой машине сервер и есть.
Сервер может запускаться как приложение или как служба. В первом случае он висит в автозагрузке (в большинстве случаев), хотя может запускаться и через Назначенные задания.
Ну а запущенную службу можно без проблем увидеть в перечне служб.

В общем, на первый раз достаточно, как обычно, уточняющие вопросы приветствуются.

okis
06.02.2012, 10:18
Алексей, rkserver.dll.

SH
06.02.2012, 13:55
Поправил имя dll, всем спасибо :)

nagatsuev
12.02.2012, 20:48
А можно очистить данные на сервере, т.е. убрать следы испытаний. Пока тестили меняли номера машин и официантов и тд. Теперь не закрывается день. А меню перебивать заново не очень хочется. И где это делать? На сервере или у менеджера?

---------- Добавлено в 18:48 ---------- Предыдущее сообщение было размещено в 18:43 ----------

Данные не нужны тока меню и настройки

SH
12.02.2012, 21:00
Это:

убрать следы испытаний
И это:

Теперь не закрывается день.
- разные вещи.
Если у Вас не закрывается день, но данные этого дня тестовые и Вам не нужны, достаточно взять чистую DATABASE, только system.db сохранить рабочий.
Если Вам нужно почистить тестовые данные из Отчетов, то там есть своя функция.

nagatsuev
12.02.2012, 21:06
А куда их кидать?

SH
12.02.2012, 21:10
Кого "их"?

nagatsuev
12.02.2012, 21:11
Завтра открытие. Сижу и нервно курю. Итальянцы достали :ranting:

---------- Добавлено в 19:11 ---------- Предыдущее сообщение было размещено в 19:10 ----------

DATABASE

SH
12.02.2012, 21:11
DATABASE
А Вы первый второй пост в этой теме хорошо прочли? Там вроде написано, где что лежит и зачем.

nagatsuev
12.02.2012, 21:34
Спасибо. Попробую.

---------- Добавлено в 19:34 ---------- Предыдущее сообщение было размещено в 19:13 ----------


А Вы первый второй пост в этой теме хорошо прочли? Там вроде написано, где что лежит и зачем.

Можно в DB поменять? Или сервер их не подменит?

okis
12.02.2012, 21:56
А Вы первый второй пост в этой теме хорошо прочли? Там вроде написано, где что лежит и зачем.

А зачем читать? Можно сидеть, покурить (даже нервно), пока по полкам все не разложат.




Можно в DB поменять? Или сервер их не подменит?

Смотря что вы хотите поменять. Внимательно прочитайте второй пост и все станет понятно.

---------- Добавлено в 19:56 ---------- Предыдущее сообщение было размещено в 19:53 ----------


Ну что ж.
...
Есть база данных, которая стандартно лежит в папке DB - это основная база данных, в которой лежат все справочники и по умолчанию, файл ark6.udb, в котором записаны права доступа и накопительные данные по закрытым сменам.
....
На сервере, в частности, есть папка DATABASE ...
При запуске сервер синхронизирует данные из DB в DATABASE. Таким образом, например, обновляется меню.
...


....

SH
12.02.2012, 22:03
Можно в DB поменять? Или сервер их не подменит?
Можно. Меняйте. Что Вы там хотите заменить, не расскажете? Кого опять "их" сервер "не подменит"?

nagatsuev
13.02.2012, 22:31
Спасибо. Получилось

andreyykt
04.07.2012, 12:46
Здравствствуйте! Подскажите как корректно перенести менеджерскую часть,которая стояла на отдельной машине, на машину, где стоит сервер под Win.Переношу папку RK6, далее втыкаю в сервер менеджерский ключ, далее в LOCAL.DB для каждых из серверов перепрописываю пути DB и ENDDAY (C:\RK6\DB? и C:\RK6\ENDDAY?), этого будет достаточно?

SH
04.07.2012, 13:52
andreyykt, еще в самом менеджере надо настроить номер адаптера для мониторинга.

arshanskiyav
26.01.2016, 01:55
Доброго дня.
Достался сервер (WinSrv2012R2Std), там установлен R-Keeper, а также еще виртуалка крутится на Hyper-V, и еще программа СпецСофт Фитнес.
Последняя должна крутится на виртуалке, НО, на сервере установлен MS SQL и там отображается (в NetWorks Server) база к которой подключается клиентская сторона этого фитнеса (под паролем sa :facepalm:).

С RKeeper никогда не работал.
Настраиваю резервное копирование (Cobian Backup - уже стоял) сервера, соответственно столкнулся с проблемой - а где собственно R-Keeper хранит базы то? Попал сюда.


Соответственно, эту базу данных найти несложно, достаточно посмотреть, из какой папки реально запускаются эти приложения (не ярлыки к ним, а сами приложения) и найти в этой папке rkeeper.ini (для старых версий - rkeeper6.ini, я не буду писать об отличиях).
Файл нашел "C:\KUS\RK6\RKEEPER.INI":

В этом файле есть два параметра: alias1 и alias2. В первом задается путь к папке со словарями (собственно DB), во втором - путь к ark6.udb
Кассовые и официантские терминалы с папкой DB не работают!
Alias1=C:\KUS\RK6\DB\
Alias2=C:\KUS\RK6\DB\
Файл ark6.udb присутствует

На сервере, в частности, есть папка DATABASE и файл local.db. В этом файле помимо прочего прописан путь к папке DB (это должна быть та же самая папка, что и на менеджерском в alias1).
Да, папка тоже есть, по пути C:\KUS\SERVER\DATABASE
Но файла local.db там нет. По дате изменения файлы за "сегодня" не превышают 4Кб, а по размеру самые большие Images.mb от 2005 года и PlanImg.mb от 2002 года. Файл local.db присутствует в папке C:\KUS\SERVER с размером в 4Кб. Для годовой базы - подозрительный размер.

При запуске сервер синхронизирует данные из DB в DATABASE. Таки
Исходя из этого, мне кажется что файл local.db (от 2015г - год установки) должен весить больше.


Ну а запущенную службу можно без проблем увидеть в перечне служб.
В перечне служб, служба существует. Исправно работает, запускается из папки C:\KUS\SERVER.

Также есть папка "C:\KUS\RK6\backup" в которой хранятся "копии" ark6.udb. Они не каждодневные, и именование мне не понятно. И я не понимаю кто инициирует создание копий.


Name Length LastWriteTime---- ------ -------------
ARK6_AC.BAK 3480064 23.01.2016 12:43:00
ARK6_BK.BAK 1251840 10.04.2015 8:58:30
ARK6_FL.BAK 1251840 09.04.2015 12:42:12
ARK6_JP.BAK 2169344 29.08.2015 17:50:18
ARK6_KO.BAK 3480064 16.01.2016 13:37:28
ARK6_LX.BAK 2038272 13.08.2015 11:03:30
ARK6_OV.BAK 2939392 18.11.2015 16:21:14
ARK6_VX.BAK 1350144 22.04.2015 12:39:44
ARK6_WO.BAK 2038272 12.08.2015 14:00:40
ARK6_ZU.BAK 1284608 15.04.2015 8:55:18

Admin (http://www.carbis.ru/forum/member.php?u=1) написал (http://www.carbis.ru/forum/r-keeper-6/161-Небольшой-faq-по-r-keeper.html):

MYSUPERSERVER :d:\bases\ib\ibsh308_nac.gdb
Далее - про Interbase: не стоит просто копировать его базу в архив (во первых ней могут в этот момент работать, что чревато повреждением данных, а во вторых - можно раза в два-три уменьшить ее размер). Правильнее делать это через стандартную процедуру bacup'а базы. Вот, можно например, пакетник написать:

===================shbacup.bat==================== ==================
gbak -user SYSDBA -password masterkey -b c:\database\ib56_sh312_nac.gdb c:\arhiv\sh.bcp

Теперь я вообще ничего не понимаю.

Конкретно вопросы:
Как найти базу, может я что-то упустил?
Если она в файле db, можно ли остановив службу просто скопировать ее без архивирования? (gbak на сервере отсутствует)
Если можно просто скопировать (копии хочу делать повременные), возможно будет (остановив сервер) откатится копированием обратно?

Заранее спасибо.

SH
26.01.2016, 02:41
Ох.
Ну, во-первых, у Вас спутались сообщения на форуме про кипер и хаус.
Вот это и далее:

MYSUPERSERVER :d:\bases\ib\ibsh308_nac.gdb
- относится к старому хаусу третьей версии. Забудьте.

Во-вторых,

Да, папка тоже есть, по пути C:\KUS\SERVER\DATABASE
Но файла local.db там нет. По дате изменения файлы за "сегодня" не превышают 4Кб,
Очень вероятно, что служба крутится, но кассы работают не с этой базой. Начинайте с касс, с инишника на кассах, что там прописано в rkeeper6.ini?


Файл local.db присутствует в папке C:\KUS\SERVER с размером в 4Кб. Для годовой базы - подозрительный размер.
local.db содержит пути, а не базу.

Годовая база лежит в ark6.udb.


Также есть папка "C:\KUS\RK6\backup" в которой хранятся "копии" ark6.udb. Они не каждодневные, и именование мне не понятно. И я не понимаю кто инициирует создание копий.
Создание копий инициирует append32. Если они не каждодневные, это, скорее всего, свидетельствует о том, что не каждый день запускают закрытие дня на компьютере (на компьютере! ну путать с закрытием дня на кассе!)


Если можно просто скопировать (копии хочу делать повременные), возможно будет (остановив сервер) откатится копированием обратно?
Смотря чего хотите этим добиться. Потери данных - да, конечно...

Какая версия r-keeper, точно, для начала?

mnekin
27.01.2016, 14:19
Достался сервер (WinSrv2012R2Std)
Как понятно из поста у Вас RK6 и завести эту старую систему rkserver на win2012 которая 64бит практически не реально.

arshanskiyav
28.01.2016, 18:49
Очень вероятно, что служба крутится, но кассы работают не с этой базой. Начинайте с касс, с инишника на кассах, что там прописано в rkeeper6.ini?

Сегодня добрался до ресторана. Стоит одна касса. И как на зло уже несколько дней не работает тач, выдает:

Test TKT1 No panel found
Не по теме: можно ли заставить работать мышку, пока тач не работает (MSDOS, имеются порты PS/2)?

В autoexec.bat есть:


cd /RKCLIENT
rem fsup
rkeeper6.exe
rem nc
GOTO END


В C:\RKCLIENT\rkeeper6.ini:


NETWORK=ON
Language=RUSSIAN
ServerName=WSERV
APServer=AServ
PDSMaxDiscControl=ON

Wserv не резолвится


В общем, если определили папку, то смотрим в ней наличие rkserver.dll, если есть - сервер на этой кассе есть. В этой же папке должен быть файл local.db, и имя сервера в нем должно совпадать с именем сервера в rkeeper6.ini в этой же папке. Теоретически, может быть ситуация (неправильная), когда запускается сервер с одним именем, а станция подключается к другому.
rkserver.dll,local.db по пути указанном в autoexec.bat (C:\RKclient) отсутствуют, core.exe в папке есть, но autoexec.bat не прописан.

В корне диска валяется local.db

На нашем WinSRV2012R2 есть также управление кассовым сервером. Поэтому, мне кажется что сервер RKeeper все-таки не на кассе.


Какая версия r-keeper, точно, для начала?
Наконец-то выяснил, версия 6.91

SH
28.01.2016, 20:40
Не по теме: можно ли заставить работать мышку, пока тач не работает (MSDOS, имеются порты PS/2)?
Нет.


Wserv не резолвится
В смысле? Тогда бы касса не работала.


rkserver.dll,local.db по пути указанном в autoexec.bat (C:\RKclient) отсутствуют, core.exe в папке есть, но autoexec.bat не прописан.
В корне диска валяется local.db
На нашем WinSRV2012R2 есть также управление кассовым сервером. Поэтому, мне кажется что сервер RKeeper все-таки не на кассе.
Согласен с выводами.

---------- Добавлено в 19:40 ---------- Предыдущее сообщение было размещено в 19:39 ----------


В перечне служб, служба существует. Исправно работает, запускается из папки C:\KUS\SERVER.
Что в той же папке в local.db?

arshanskiyav
29.01.2016, 15:01
В смысле? Тогда бы касса не работала.

ПК с именем WSERV в сети нет (сканировал LanSTATE, AdvancedIPscaner, пытался сделать пинг со своего ноутбука). ПК на котором крутится сервер RKeeper называется "SERVER".



Что в той же папке в local.db?
Да
4583
4584

SH
29.01.2016, 16:28
ПК с именем WSERV в сети нет
Его и не должно быть. Это не имя компьютера.


Да
Что да? Откройте Local.db из KUS и посмотрите, что там.

arshanskiyav
29.01.2016, 17:12
Его и не должно быть. Это не имя компьютера.

А как касса находит тогда сервер?


Что да? Откройте Local.db из KUS и посмотрите, что там.
Пардон, не понял сообщение.
Посмотрел:
4585

В C:\KUS\RK6\DB и лежит ARK6.UDB

SH
29.01.2016, 17:38
А как касса находит тогда сервер?
Ей все равно, где он - главное, что в сети.
Вот в local.db видно, что этот экземпляр сервера запускается с именем WSERV (строки 5 и 6).
Так что - поздравляю, Ваш сервер здесь с вероятностью 99,999%.

arshanskiyav
30.01.2016, 01:42
Подытожу.
Сервер RKeeper находится на сервере с именем SERVER (WinSrv2012R2).
При запуске службы RKSERVER_SERVICES в сеть транслируется "имя сервера" WSERV по которому подключается касса (авторизация не требуется?)
Вся база находится в файле ARK6.UDB, которая бэкапится при помощи append32 при закрытии дня.

Я все правильно понял?

Если да, то как лучше организовать резервное копирование (в другое место)?, может проще использовать стандартный wbadmin на NAS и в случае выхода из строя ЖД, просто развернуть всю систему?

SH
30.01.2016, 02:59
Я все правильно понял?
Не совсем.
В ark6.udb лежат только накопительные данные. Они важны, и этот файлик надо бэкапить. Или прописать путь к бэкапу, тогда append32 будет делать бэкап туда, куда скажете.
Сервер же работает с дневной базой, которая лежит в DATABASE. Бэкапить ее можно, но довольно-таки бесполезно. Если навернется винт с ней - касса остановится. В целом, лучше конечно, иметь бэкап пятиминутной давности, чем никакого, но бездумно развернуть этот бэкап нельзя - надо будет проверить, какие были операции после бэкапа. Поэтому важны чеки, выходящие на сервис-принтерах - обычно, по ним можно картину восстановить. Впрочем, также можно сделать параллельную печать в файл.
ark6.udb можно восстановить по OLDRES, которая также лежит в папке сервера.
Так же, словари в ark6.udb не лежат, они лежат в папке DB. Ее вот желательно бэкапить.
Вообще, как бэкапить менеджера и потом разворачивать - выбирайте сами на вкус.
Самый простой вариант - положить всю DB, вместе с ark6.udb, в облако и не париться. Можно всю RK6 туда положить.
Сопутствующую тему (http://www.carbis.ru/forum/rk-Базы-данных-ошибки-проблемы/10840-папка-daytemp-в-database.html) еще почитайте.


авторизация не требуется?)
Не требуется.

arshanskiyav
31.01.2016, 01:27
Смотря чего хотите этим добиться. Потери данных - да, конечно...

Не совсем.
В ark6.udb лежат только накопительные данные. Они важны, и этот файлик надо бэкапить. Или прописать путь к бэкапу, тогда append32 будет делать бэкап туда, куда скажете.
Сервер же работает с дневной базой, которая лежит в DATABASE. Бэкапить ее можно, но довольно-таки бесполезно. Если навернется винт с ней - касса остановится. В целом, лучше конечно, иметь бэкап пятиминутной давности, чем никакого

Сопутствующую тему еще почитайте.

поддерживающая теневые копии (ибо файлы в Database открыты на запись). Cobian Backup попробуйте.
А есть ли смысл копирования отрытых файлов?, ведь целостность скорее всего нарушена (как мне кажется).


Самый простой вариант - положить всю DB, вместе с ark6.udb, в облако и не париться. Можно всю RK6 туда положить.
Вот этого не понял, из серии положить в папку Я.Диск`a или дропбокса?

SH
31.01.2016, 02:31
А есть ли смысл копирования отрытых файлов?, ведь целостность скорее всего нарушена (как мне кажется).
Если нужна хоть какая-то копия - смысл может быть, смотря какие задачи стоят. Хотя, повторю - лучше делать параллельный журнал по чекам. Если журнал цел - по нему все заказы можно будет восстановить. А журнал можно тоже в облаке держать. А если еще плюс инфу с фискальника снять - и оплаты тоже можно будет восстановить.
Но, на самом деле, я еще ни разу не видел, чтоб кто-то так беспокоился :) Проще развести руками, если database навернется :)


из серии положить в папку Я.Диск`a или дропбокса?
Именно так. Либо положить, либо копировать.