...
Если на объекте имеется белый IP-адрес и настроен проброс портов на SSRS, то нажав на ссылку, можно в браузере на телефоне или планшете в любой точке мира увидеть наш отчет. В нашем примере адрес ссылки локальный.
Настройка бэкапов и клинера через Планировщик задач Виндовс и Powershell
Для безопасности функционирования системы Game-Keeper, а также сохранности всех данных по игровому центру/парку, хранящихся в базе данных MS SQL Server gkArcade, необходимо осуществлять настройку автоматического резервного копирования БД (создания бэкапа БД).
Сотрудниками Game-Keeper был реализован механизм создания резервных копий основной БД gkArcade на основе встроенного ПО Windows PowerShell с применением Планировщика Windows.
Ранее мы описывали, что целесообразно для создания и хранения резервных копий БД выделить отдельный жесткий диск. На него мы копировали папку BACKUPDB из дистрибутива версии GK. В каталоге BACKUPDB находится папка jobs с скриптами Windows PowerShell Backup.ps1 и Cleaner.ps1, которые будем применять для создания резервных копий.
Для начала отредактируем эти скрипты под текущий сервер GK. Они становятся доступны на редактирование при открытии через обычный блокнот. В теле скрипта Backup.ps1 указываем название сервера и путь к папке BACKUPDB:
# Configuration variables.
[string]$server ="GKSERVER\GAME_KEEPER"; # Server instance name.
[string]$dest ="D:\BACKUPDB\"; # Folder to backup to. If empty the default backup folder is used.
Здесь GKSERVER сетевое имя нашего сервера, которое мы задавали при предварительной настройке сервера:
Отредактируем скрипт Cleaner.ps1:
$path = “D:\BACKUPDB\”; #path for search – путь к папке с бэкапами
$days = 30; #keep files for the last two days – количество дней, сколько стоит хранить бэкапы
Get-ChildItem -path $path"\*" -include *.bak | ?{$_.creationtime -lt $(Get-Date).adddays($days*-1)} | Remove-Item –Force;
Скрипт Cleaner.ps1 чистит папку BACKUPDB с бэкапами базы, оставляя в ней только то количество АКТУАЛЬНЫХ бэкапов, которое указано в теле скрипта. В нашем примере это 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” в ини-файлах системы Game-Keeper указываются в зашифрованном виде. Стоит понимать, что сейчас речь идет только об “инишниках”!!! В остальных других случаях пароль от учетной записи системного администратора SQL Server “sa” указываются в явном виде!
Для создания и смены пароля в зашифрованном виде для ини-файлов GK пользуются утилиты gkPW.exe и gkPWn.exe. По умолчанию они находятся в дистрибутиве версии GK в папке Other:
Утилита gkPWn.exe – для создания нового пароля
Утилита gkPW.exe – для смены старого пароля
Принцип работы у обоих утилит одинаковый по смыслу.
На примере создания нового пароля:
Запускаем утилиту gkPWn:
Указываем путь к файлу конфигурации, в котором хотим установить зашифрованный пароль. В нашем примере это путь к gkPosServer.ini. Вводим пароль (по умолчанию в системе GK это 1q2w3e777!), подтверждаем пароль и нажимаем ок. Проверяем файл конфигурации:
Теперь этот пароль в зашифрованном виде можно скопировать и расставить во все файлы конфигурации в системе GK через Configurator.exe на вкладке “INI файлы GK”. Также вы это можете сделать руками, вставив эту последовательность в каждый ини-файл в параметр Password.
Лицензирование модуля сервер GK
Для продления или изменения лицензии необходимо воспользоваться утилитой Licence.exe (находится в директории Редактора - gkEditor и Кассы - gkPos). При инсталляции объекта сотрудниками Game-Keeper, ярлык, ссылающийся на данную утилиту, выносится на рабочий стол.
Запустить утилиту. На первой вкладке “View” cкопировать код из поля “Session code” или сделать вычитку ключа, нажав кнопку , и отправить его с запросом на продление/изменение лицензии на e-mail: support@game-keeper.com. Обработка запросов и генерация новых лицензий производится по мере поступления в течение рабочего дня, или на следующий рабочий день.
После получения нового кода Game-Keeper™ необходимо перейти на вкладку “Set”, ввести полученный код в специальное поле и нажать кнопку “Set”.
При успешной операции лицензия будет продлена. Проверить это можно, вернувшись на первую вкладку “View” в поле expired at: