API для выполнения резервного копирования

Описание использования API для выполнения резервного копирования (backup).

В системе управления NGate предусмотрена возможность использования API для выполнения резервного копирования (backup). Резервное копирование необходимо при обновлении ПО NGate, при замене аппаратных платформ и проч.

Ниже приведены команды для ОС семейства UNIX для обращения к СУ NGate.

  1. Команда для создания и одновременного скачивания резервной копии:
    /opt/cprocsp/bin/amd64/curl -X 'PUT' \
      'http://<ngate>:8000/ext/api/db_backups/?response-format=file' \
      -H 'accept: application/json' \
      -H 'Authentication: KJib9JIqNZlAvVfO6yhVUbP9VMOE28OxWTBt81gZb7kOQbYVFUeHoEirNPqIvPcV' \
      --output /your/path/file.tar.gz
    где:
    • /opt/cprocsp/bin/amd64/curl — команда передачи данных на целевую машину;
    • -X 'PUT' — флаг запроса и 'метод';
    • <ngate>:8000 — адрес и порт целевой машины NGate;
    • /ext/api/db_backups/ — URL обращения к команде создания резервной копии;
    • ?response-format=file' — запрос на файл;
    • accept: application/json' — формат возвращаемых данных;
    • Authentication: ...API токен доступа, полученный заранее;
    • --output /your/path/file.tar.gz — путь куда будет скачан файл резервной копии.
  2. Команда для создания резервной копии (backup):
    /opt/cprocsp/bin/amd64/curl -X 'PUT' \
      'http://<ngate>:8000/ext/api/db_backups/' \
      -H 'accept: application/json' \
      -H 'Authentication: fQhUZxgzfB7IU9s5QnYLDwqFAtJj5ASpJiKb9oGXIfxyuvZ0Gu9L0pX7bxHtFRz5' \  
    где:
    • /opt/cprocsp/bin/amd64/curl — команда передачи данных на целевую машину;
    • -X 'PUT' — флаг запроса и 'метод';
    • <ngate>:8000 — адрес и порт целевой машины NGate;
    • /ext/api/db_backups/ — URL обращения к команде создания резервной копии;
    • accept: application/json' — формат возвращаемых данных;
    • Authentication: ...API токен доступа, полученный заранее.
    Ответ команды имя файла резервной копии, сохраняемого в директории /etc/opt/ngate/ng-backups/:
    {
      "filename": "ng-backup-2025-10-14_10-02-51.tar.gz"
    }
  3. Команда для просмотра списка всех резервных копий:
    /opt/cprocsp/bin/amd64/curl -X 'GET' \
      'http://<ngate>:8000/ext/api/db_backups/' \
      -H 'accept: application/json' \
      -H 'Authentication: fQhUZxgzfB7IU9s5QnYLDwqFAtJj5ASpJiKb9oGXIfxyuvZ0Gu9L0pX7bxHtFRz5'
    Ответ команды – список ранее полученных файлов:
    [
      {
        "filename": "ng-backup-2025-10-01_18-16-22.tar.gz"
      },
      {
        "filename": "ng-backup-2025-10-14_10-02-51.tar.gz"
      }
    ]
  4. Команда для скачивания резервной копии:
    /opt/cprocsp/bin/amd64/curl -X 'GET' \
      'http://<ngate>:8000/ext/api/db_backups/ng-backup-2025-10-01_18-16-22.tar.gz/?response-format=file' \
      -H 'accept: application/json' \
      -H 'Authentication: fQhUZxgzfB7IU9s5QnYLDwqFAtJj5ASpJiKb9oGXIfxyuvZ0Gu9L0pX7bxHtFRz5'
      --output /your/path/file.tar.gz
    где:
    • /opt/cprocsp/bin/amd64/curl — команда передачи данных на целевую машину;
    • -X 'GET' — флаг запроса и 'метод';
    • <ngate>:8000 — адрес и порт целевой машины NGate;
    • /ext/api/db_backups/ — URL обращения к команде создания резервной копии;
    • /ng-backup-2025-10-01_18-16-22.tar.gz/ — имя целевого файла для скачивания;
    • ?response-format=file' — запрос на файл;
    • accept: application/json' — формат возвращаемых данных;
    • Authentication: ...API токен доступа, полученный заранее;
    • --output /your/path/file.tar.gz путь куда будет скачан файл резервной копии.
  5. Альтернативная команда для создания и одновременного скачивания резервной копии в текущую директорию:
    wget http://<ngate>:8000/ext/api/db_backups/?response-format=file
    --header='Authentication: KJib9JIqNZlAvVfO6yhVUbP9VMOE28OxWTBt81gZb7kOQbYVFUeHoEirNPqIvPcV'
    --content-disposition
    --method=PUT
  6. Команда для скачивания определённой резервной копии:
    wget http://<ngate>:8000/ext/api/db_backups/ng-backup-2025-10-27_16-11-33.tar.gz/?response-format=file
    --header='Authentication: KJib9JIqNZlAvVfO6yhVUbP9VMOE28OxWTBt81gZb7kOQbYVFUeHoEirNPqIvPcV'
    --content-disposition