Skip to content

Backup configuration script for Fortigate using Python and Fortinet API.

Notifications You must be signed in to change notification settings

woohung/fortigate_backup_config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 

Repository files navigation

Python script for backup config Fortigates, using API Fortinet

Скрипт предназначен для сбора бэкап-конфигурации с одного или более FW Fortigate.

Это один из моих первых проектов на Python, если вы знаете, как можно сделать код лучше, присылайте PR, буду рад любой посильной помощи.

В связке с этим проектом, опубликована статья в блоге.

Вызывать справку по скрипту - -h

На вход передается файл в формате .yaml, содержащий список словарей: [{host1:value, token1:value}, {host2:value, token2:value}]

Args:
    device (str): IP-адрес устройства FortiGate.
    token (str): Токен для аутентификации по API.
    backup_dir (str): Директория для сохранения резервных копий.
    enable_warning (bool, optional): Вкл/Выкл предупреждение sefl-sign SSL.
        По умолчанию True.
    enable_ssl (bool, optional): Вкл/Выкл проверку SSL.
        По умолчанию False.

Raises:
    requests.exceptions.Timeout: Если время ожидания ответа от API истекает.
    requests.exceptions.HTTPError: Если получен ответ с HTTP-кодом ошибки.
    requests.exceptions.RequestException: Если произошла какая-либо ошибка при выполнении запроса.

Как работать со скриптом

Копируем скрипт и файл .yaml в удобное место, правим devices.yaml в соответствии с вашими устройствами:

  • host: в формате IP-адреса)
  • token: копируем значение вашего API-токена

Параметр --config-file (-C) и --backup-dir (-D) обязателен, остальное опционально.

Пример вызова функции из терминала:

python fortios_backup_config.py -C ../devices_api.yaml -D ~/manage-tools/output/backups/

About

Backup configuration script for Fortigate using Python and Fortinet API.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages