...
Сотрудниками Game-Keeper был реализован механизм создания резервных копий основной БД gkArcade на основе встроенного ПО Windows PowerShell с применением Планировщика Windows.
Ранее мы описывалиуказывалось, что целесообразно для создания и хранения резервных копий БД желательно выделить отдельный жесткий диск. На него мы копировали папку BACKUPDB из дистрибутива версии GK. В каталоге BACKUPDB находится папка jobs с скриптами Windows PowerShell Backup.ps1 и Cleaner.ps1, которые будем применять будут применяться для создания резервных копий.Для Для начала отредактируем эти скрипты под текущий сервер GK. Они становятся доступны на редактирование при открытии через обычный блокнот. В теле скрипта Backup.ps1 указываем название сервера и путь к папке BACKUPDB:
...
Здесь GKSERVER сетевое имя нашего сервера, которое мы задавали задавалось при предварительной настройке сервера:.
Отредактируем скрипт Cleaner.ps1:
...
Get-ChildItem -path $path"\*" -include *.bak | ?{$_.creationtime -lt $(Get-Date).adddays($days*-1)} | Remove-Item –Force;
Скрипт Cleaner.ps1 чистит очищает папку BACKUPDB с бэкапами базы, оставляя в ней только то количество АКТУАЛЬНЫХ бэкапов, которое указано в теле скрипта. В нашем примере это 30 дней. То есть на сервере будет постоянно храниться 30 последних 30 бэкапов БД. При желании это количество можно уменьшить или увеличить эту цифру. Это полезно для организации рационального использования дискового пространства. Раньше диски забивались бэкапами, так как не было ограничений на количество их создания.
Далее необходимо изменить политику безопасности Windows PowerShell. Для этого необходимо запустить Windows PowerShell от имени Администратора и выполнить команду set-executionpolicy remotesigned.
Система предложит выполнить действия с политикой, нужно набрать Y и нажать Enter.Затем Затем открываем Планировщик заданий Windows:.
В корне библиотеки планировщика создаем папку GK:.
Наступаем курсором на Выбираем созданную папку GK и нажимаем «Создать "Создать простую задачу»задачу", вводим имя нашей задачи и проходим «Далее»:"Далее".
На следующих двух шагах выбираем периодичность выполнения задачи:.
Далее выбираем действие:.
Следующим этапом определяем параметры запуска программы:Программа . Программа или сценарий: powershell.exe.
Аргумент (обязательно): -command D:\BACKUPDB\jobs\Backup.ps1
...
На завершающей стадии создания простой задачи следует поставить галочку «Открыть окно «Свойства» "Открыть окно "Свойства" для этой задачи…» задачи…" и нажать «Готово»:"Готово".
После создания задачи откроется ее свойства, где мы выставляем на вкладке «Общие» "Общие" приоритет – Выполнить с наивысшими правами:.
На вкладке «Параметры» "Параметры" определить продолжительность выполнения задачи, после которого система понимает, что задача зависла или что-то пошло не так. Это необходимо для рационализации мощностей сервера, так как выполнение задачи дает нагрузку на процессор и оперативную память.
...
Теперь мы можем проверить выполнение, созданной нами задачи. Наступив на саму задачу, нажать выполнить:, выбрав задачу и нажав "Выполнить".
Начнется выполнение скрипта Windows PowerShell:.
Результатом В результате выполнения нашей задачи должно стать появление файла задачи должен создаться файл бэкапа в указанной нами папке D:\BACKUPDB. Файл должен иметь название типа gkArcade_full_2020-04-09.bak. Как мы видим в названии файла бэкапа присутствует название БД и дата создания.
Именно по По этой дате будет отслеживать наполняемость папки и актуальность данных следующий скрипт Cleaner.ps1. Нужно по По аналогии с предыдущим скриптом необходимо создать простую задачу Cleaner_GK. Разница будет только во времени начала выполнения задачи и в аргументе, который в этом случае стоит указать:.
Аргумент (обязательно): -command D:\BACKUPDB\jobs\Cleaner.ps1
...
Время начала следует поставить не менее чем на час больше большим времени начала выполнения скрипта для создания бэкапа:.
Конечным результатом ваших действий должно стать появление двух задач, ежедневное выполнение которых обеспечит создание актуальной резервной копии рабочей БД gkArcade и поддержание этой актуальности на выбранной вами необходимой глубине.
В конце хотелось бы сказать, что для более твердой уверенности в безопасности и наличии, в случае сбоя на сервере, актуальной копии базы данных, необходимо Для большей избыточности и безопасности рекомендуется дополнительно организовать копирование файла бэкапа на альтернативный носитель или на удалённый сетевой ресурс!
Работа с утилитой для шифрования паролей
Все пароли для пользователя “sa” в ини"sa" в .ini-файлах системы Game-Keeper указываются в зашифрованном виде. Стоит понимать, что сейчас речь идет только об “инишниках”!!! зашифрованном виде. В остальных других случаях пароль от учетной записи системного администратора SQL Server “sa” указываются в явном виде!Для Для создания и смены пароля в зашифрованном виде для ини.ini-файлов GK пользуются утилиты gkPW.exe и gkPWn.exe. По умолчанию они находятся в дистрибутиве версии GK в папке Other:.
Утилита gkPWn.exe – для создания нового пароля.
Утилита gkPW.exe – для смены старого пароля.
Принцип работы у обоих утилит одинаковый по смыслу.
На примере Пример создания нового пароля:.
Запускаем утилиту gkPWn:.
Указываем путь к файлу конфигурации, в котором хотим необходимо установить зашифрованный пароль. В нашем примере это путь к gkPosServer.ini. Вводим пароль (по умолчанию в системе GK это 1q2w3e777!), подтверждаем пароль и нажимаем ок"ОК". Проверяем файл конфигурации:.
Теперь этот пароль в зашифрованном виде можно скопировать и расставить во все файлы конфигурации в системе GK через Configurator.exe на вкладке “INI "INI файлы GK”GK". Также вы это можете можно сделать рукамивручную, вставив скопировав эту последовательность в каждый ини.ini-файл в параметр Password.
...
Запустить утилиту. На первой вкладке “View” "View" cкопировать код из поля “Session code” "Session code" или сделать вычитку ключа, нажав кнопку , и отправить его с запросом на продление/изменение лицензии на e-mail: support@game-keeper.com. Обработка запросов и генерация новых лицензий производится по мере поступления в течение рабочего дня, или на следующий рабочий день.
...
После получения нового кода Game-Keeper™ необходимо перейти на вкладку “Set”"Set", ввести полученный код в специальное поле и нажать кнопку “Set”"Set".
При успешной операции лицензия будет продлена. Проверить это можно, вернувшись на первую вкладку “View” в поле "View" в значении поля "expired at:".