Я очень новичок в Python Flask. Для проекта мне нужно написать REST API (Download Logs) для загрузки файлов журналов с определенного количества хостов. Хосты, имена хостов / IP-адреса хранятся в базе данных MySql.
1) Пользователь загружает страницу загрузки
@app.route('/download')
2) На этой странице, пользователь выберет из списка FQDN имена хостов (выпадающий список), извлеченные из базы данных.
3) Пользователь выбирает полное имя хоста FQDN, и в зависимости от выбора в другом раскрывающемся списке перечислены связанные имена хостов и IP-адреса.
4) Пользователь выбирает из списка IP-адресов, которые хранятся в списке / массиве
5) Пользователь нажимает кнопку загрузки, чтобы запустить команду для загрузки указанных c файлов журнала
a) s sh на хосты -> переименовать существующий файл журнала
ssh = paramiko.SSHClient()
ssh.connect(server, username=username, password=password)
ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command(mv log-file.log <hostname>-log-file-$(date +\%d/\%m/\%Y).log)
b) scp файл на localhost
ssh = paramiko.SSHClient()
ssh.connect(server, username=username, password=password)
ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command(scp <hostname>-log-file-$(date +\%d/\%m/\%Y).log <username>@<ip-address:/<path>)
c) Сообщение об успешном получении после загрузки файлов журнала
Я собираюсь использовать Python Flask веб-фреймворк с пакетами MySql для подключения к базе данных MySql и получения IP-адресов. Однако я несколько озадачен тем, как собрать кусочки вместе, ie, как сохранить Возвращаемые в базе данных значения (IP-адреса) в списке и передаваемые списки для функции загрузки должны будут использовать значения от l oop до l oop над своим списком и выполнять команды s sh.
Я посмотрел различные колбы / MySql примеры кода, но не смогли собрать решение вместе.
Любые мысли о том, с чего начать. Ура, Роланд