###
### Планировщик-КС
###
### Copyright (C) ООО Кейсистемс 2026
###
### Версия 8.0
###



  Описание           : Планировщик-КС, планировщик задач

  Цель использования : Выполнение задач ОС и прикладных комплексов по расписанию.

  Требует для работы : Runtime библиотека kscore 8.0

  Характеристики     : По умолчанию разворачивается по https порту 42003.
                       Конфигурируется удаленным смарт клиентом:
                         - для подключения к КС Планировщик необходимо открыть окно планировщика на клиенте
                           и выбрать расположение планировщика с указанием ip/имени хоста и порта, на котором запущен КС Планировщик,
                           например: https://192.168.1.789:42003 или http://192.168.1.789:42003, в зависимости от
                                     выбранного протокола при установке.
                       Возможно установить несколько экземпляров по разным портам.

                       Примечание: Под клиентом понимается приложение смарт, какого-либо продукта компании ООО "Кейсистемс"
                                   версии не ниже 26.2.*

                       В поставляемом комплексе используются компоненты:
                        - Runtime библиотека kscore 8.0 (лицензия MIT)


  Внимание! Для выполнения операции развертывания необходимы права суперпользователя.

  1) Установка.
     Для запуска установки планировщика по порту 42003 достаточно выполнить следующую команду:
     $ bash /opt/schks-8.0/install.sh

     Если необходимо указать порт отличный от 42003, то нужно указать параметр -p <порт>, например:
     $ bash /opt/schks-8.0/install.sh -p 42002

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

    === Лог выполнения ============================================================================================================================================

               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
               ~
               ~      Установка "Планировщик-КС" 8.0
               ~      Тип: TSH
               ~
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    [   OK   ] Проверка доступности порта "42003" для планировщика.
    [   OK   ] Создание\проверка каталога runtime kscore /opt/schks-8.0/.dotnet.
    [   OK   ] Создание\проверка каталога приложения /opt/schks-8.0/schks_42003.
    [   OK   ] FireWall: Создание\проверка правила для разрешения соединений по порту 42003.
               Warning: ALREADY_ENABLED: 42003:tcp
               Created symlink /etc/systemd/system/multi-user.target.wants/schks-8.0_42003.service → /lib/systemd/system/schks-8.0_42003.service.
    [   OK   ] Запуск сервиса schks-8.0_42003.service.

    ===============================================================================================================================================================



       В результате установки в каталог /opt/schks-8.0/schks_42003 разворачиваются файлы приложения
    и создается сервис планировщика schks-8.0_42003.service, который автоматически запускается
    при запуске хоста. Владельцем каталога приложения устанавливается пользователь ksbackup (если его нет, то
    создается во время установки), от имени которого запускается основной процесс сервиса.

    Платформа поддерживает два типа планировщика TSH (по умолчанию) и DWH. Для установки планировщика с типом DWH необходимо выполнить:
    $ bash /opt/schks-8.0/install.sh -t DWH

       ВАЖНО!!!
       При установке по умолчанию для соединения с планировщиком необходимо указать пользователя: admin с паролем: Adm1908!


    Проверить состояние сервиса можно выполнив команду:
    $ systemctl status schks-8.0_42003.service

    Просмотреть логи ошибок запуска можно выполнив команду:
    $ systemctl -fu schks-8.0_42003.service


    Проблемы соединения клиента:
    а) Нет возможности соединиться клиентом к установленному планировщику
       на хосте с ip=192.168.99.178, ошибка типа:

       Внимание
       ----------
       Ошибка при проверке удаленной авторизации

       Возможные причины и решения:
       1) Сервис планировщика не запущен. Запустите сервис.
          $ systemctl start schks-8.0_42003.service

       2) Сервис планировщика запущен, но возможно порт заблокирован Selinux. Разрешить можно командой:
          $ semanage port -a -t http_port_t -p tcp 42003

  2) Получение информации о запущенных процессах и статусе сервиса.

        Для получения информации об установленных планировщиках и запущенных процессах, необходимо
     выполнить команду:
     $ bash /opt/schks-8.0/info.sh

     Для получения информации по конкретному планировщику, в параметрах необходимо указать его порт:

     $ bash /opt/schks-8.0/info.sh -p 42003

  3) Обновление прикладного приложения.
     Для обновления необходимо поместить файл архива, например, sTSH_24.3.tar.gz
     в каталог /opt/schks-8.0/tar и выполнить команду
     $ bash /opt/schks-8.0/install.sh -p "42003" -a "sTSH_23.3.tar.gz" -u

     ВАЖНО!!!
     Обновление необходимо выполнять для каждого развернутого экземпляра по своему порту.
     При обновлении файл настроек appsettings.Production.json и каталог /taskscheduler остаются неизменными.

  4) Деинсталляция
     Для запуска деинсталляции по порту 42003 достаточно выполнить следующую команду:
     $ bash /opt/schks-8.0/uninstall.sh
     или
     $ bash /opt/schks-8.0/uninstall.sh -p <порт>
     для порта, отличного от 42003

     ВАЖНО!!!
     При деинсталляции планировщика, каталог - /opt/schks-8.0/schks_<порт>/taskscheduler,
     в котором находится служебная информация и заведенные задачи - НЕ УДАЛЯЕТСЯ!
     Это сделано для того, чтобы была возможность перенести эти задачи на другой планировщик или
     защититься от случайного удаления.

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

     === Лог выполнения ============================================================================================================================================

               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
               ~
               ~     Удаление "КС Планировщик" 8.0
               ~
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

     [ Запрос ] Вы действительно хотите удалить экземпляр по порту "42003"?
               ([да;y]/[N;нет;n]): Y

     [   OK   ] Остановка сервиса (schks-8.0_42003.service).
     [   OK   ] Удаление сервиса (schks-8.0_42003.service).
                Removed "/etc/systemd/system/multi-user.target.wants/schks-8.0_42003.service".
     [   OK   ] Удаление содержимого каталога /opt/schks-8.0/schks_42003.
                Каталог /opt/schks-8.0/schks_42003/taskscheduler, содержащий описания созданных задач планировщика,
                был исключен из удаления.


     ===============================================================================================================================================================


  Дополнительная информация:

  Cтруктура каталогов развернутых приложений:
  ==================================================================================================================================

   /opt/schks-8.0
           /-- /.dotnet                                            # каталог runtime библиотеки kscore (появляется после установки)
                |-- *.*
           |-- /bin
                |-- aspnetcore-runtime-8.0-linux-x64.tar.gz

           |-- /schks_42003                                        # каталог приложения
               ...........
           |-- /schks_42xxx                                        # каталог приложения


           |-- /tar                                                # каталог архивов
                |-- sDWH_24.2.2.814.tar.gz
                |-- sTSH_24.1.tar.gz

           |-- /template                                           # каталог шаблонов
                |-- appsettings.Production.json.t

           |-- COPYRIGHT                                           # файл лицензии
           |-- info.sh                                             # файл просмотра информации о процессах и статуса сервиса
           |-- install.sh                                          # bash скрипт запуска установкм
           |-- readme.txt                                          # описание
           |-- uninstall.sh                                        # bash скрипт деинсталляции

  ==================================================================================================================================


