Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Программа обеспечивает следующие возможности:

  1. Автоматизированная ежесуточная выгрузка всех портальных учётных записей, дата создания которых находится в текущем месяце.
  2. Выгрузка производится на FTP сервер.
  3. Неуспешная выгрузка сопровождается письмом на EMail из списка администраторов (задаётся в настройках программы);
  4. Успешная выгрузка на FTP может (опционально) сопровождаться отсылкой копии архива выгрузки на EMail клиента (задаётся в настройках программы)
  5. Выгрузка производится для всех записей, находящихся внутри сервисного домена: "BANK_URAL-SIB.Federal.AllClients.root"
  6. По умолчанию, выгрузка настроена на запуск в 23:45 по системному серверному времени каждые сутки
  7. Программа создаёт файл с уникальным именем, в котором присутствует дата и время создания выгрузки
  8. Выгрузка в простом текстовом формате csv в кодировке utf8
  9. Для уменьшения занимаемого места, перед отправкой выгрузка сжимается архиватором zip (без пароля)
  10. Формат имени файла, выгружаемого на FTP: uralsib-hotspot-2019-01-23_02-07-48.zip
  11. Формат файла внутри архива: uralsib-hotspot-2019-01-23_02-07-48.csv

Методика инсталляции:

  1. Выбрать любой Linux host (Ubuntu), у которого будет обеспечена связность с БД Платформы SoftWLC и удалённым сервером FTP (это может быть любой из хостов Платформы).
  2. Убедиться, что на хосте установлен Python 2.x.
  3. Установить необходимые дополнительные модули Python на хост командами:

    sudo apt-get install python-pip
    sudo pip install mysql-connector-python
  4. Распаковать приложенный архив "uralsib-ftp-upload-v10.tgz" в любом временном каталоге:

    tar -xvf uralsib-ftp-upload-v10.tgz
  5. Запустить файл deploy-uralsib-upload.sh с правами root:

    sudo ./deploy-uralsib-upload.sh
  6. Убедиться, что на хосте выполнено всё, что есть в скрипте: задача cron, каталог для логов, деплой приложения:

    APP_PATH="/usr/lib/eltex-tools/" 
    APP_FILE="uralsib-upload-ftp.py" 
    LOG_PATH="/var/log/uralsib-uploader" 
    CRON_PATH="/etc/cron.d/" 
    CRON_FILE="uralsib-upload"
  7. Открыть скрипт '/usr/lib/eltex-tools/uralsib-upload-ftp.py' в текстовом редакторе:

    sudo nano /usr/lib/eltex-tools/uralsib-upload-ftp.py
    1. Настроить MySQL хост, пользователь, пароль. Секция:

      # Конфигурация для подключения к БД
      mysql_config = {
      'user': 'javauser',
      'password': 'javapassword',
      'host': 'localhost',
      'database': 'radius',
      'charset': 'utf8'
      }
    2. Настроить FTP хост, пользователь, пароль. Секция:

      # Блок параметров для подключения к удалённому FTP-серверу
      FTP_ADDR = "127.0.0.1" 
      FTP_USER = "ftpuser" 
      FTP_PASSWORD = "password"
      # Путь на сервере, если нужно поместить файл не в корневой каталог пользователя, а в подкаталог
      FTP_PATH = "."
    3. Настроить почтовый аккаунт для отправки сообщений (откуда, куда):

      # --- EMAIL SETTINGS ---
      SEND_ALERT_EMAIL = 1 # ENABLE SEND ALERT OVER MAIL (0 or 1) - включить отправку АВАРИЙ на ЕМайл
      SEND_FILE_EMAIL = 0 # ENABLE SEND FILE OVER MAIL (0 or 1)
      
      # Общие настройки сервера отправки EMail
      EMAIL_SMTP_SERVER = "smtp.gmail.com" 
      EMAIL_SMTP_PORT = 587
      EMAIL_USER = '*********@gmail.com' # Please, insert your login here!
      EMAIL_PASSWORD = '**********' # Please, insert your password here!
      
      FILE_EMAIL_TO_ADDR_LIST = ['victor.abarenov@eltex.nsk.ru'] # Comma separated address list
      ALERT_EMAIL_TO_ADDR_LIST = ['victor.abarenov@eltex.nsk.ru'] # Comma separated address list
    4. Сохранить изменения и закрыть редактор
  8. Ручным запуском или путём модификации cron-периода (например, каждые 2 минуты) убедиться, что функционал работает.
  9. При проблемах смотреть лог файл тут: /var/log/uralsib-uploader/uralsib-upload-ftp.log
В качестве универсального почтового сервиса в настройки программы внесён gmail.com. Для продуктивного ядра стоит воспользоваться служебным корпоративным почтовым ящиком РТК.
  • Нет меток