nikto_211, на момент, когда discord.py объявил о своём закрытии, я выбирал, и тогда мне показалось, что у pycord дела ещё хуже чем у nextcord. Может они конечно потом исправились, но даже так, disnake уже тогда на голову выше них был.
Бот в Telegram необходим. Даже если использовать стороннее решение - нужен будет токен бота. Можно также сделать юзербота, но для данной задачи бессмысленно.
Иннокентий Иванов, например, из vars/host_vars/group_vars. Их там даже можно с помощью ansible-vault пошифровать (при запуске плейбука надо будет использовать --ask-vault-pass и вводить пароль).
Прогоняешь плейбук - он на удалённых хостах всё создаёт/настраивает/делает конфиги итд.
Более сложные вещи делают, если надо не хранить на удалённых хостах пароли в явном виде. Тогда в зависимости от нужного сценария защиты могут быть разные решения. Например, как одно из простых решений, можно запускать приложение с помощью ansible, который сходит на нужный хост, зная токен от hashicorp vault, получит секреты, запустит приложение и уйдёт, нигде токен не сохранив. В случае компроментации хоста на нём паролей нет и токен тоже отсутствует. Если у взломщика не будет root и 0-day эксплойта - он даже память не сдампит.
Лет 20 назад очень меня бесил майлруагент, который если присутствовал в системе, то пихался в перемещаемый профиль пользователя и после этого оказывался у него везде...
Зачем хранить прям конфиги? Обычно передают параметры через env или через vault/consul/итд, а для приложений, которые хотят именно конфиг, он генерится по шаблону с заполнением в нём секретов.
Вопрос звучит примерно так: "Как сделать иллюстрированную книгу, если я не умею рисовать?" Как-как, научитья рисовать! Или привлечь того, кто умеет.
Если навыков программирования нет, то их надо приобретать, поэтапно, начиная с азов. В том числе научиться работать с базами данных, это достаточно базовая тема и любой разработчик должен её уметь. А не так, что начинать запихивать базу, не умея элементарных вещей.
historydev, протокол smtp очень простой. Делаем telnet адрес_сервера 25 и пишем команды протокола:
$ telnet *** 25
Trying ***...
Connected to ***.
Escape character is '^]'.
220 mx.***.ru ESMTP server HELO mx.***.ru
250 mx.***.ru MAIL From:<***@***.ru>
250 2.1.0 Ok RCPT To:<***@***.ru>
250 2.1.5 Ok
DATA
354 End data with . Subject: Hello
From: foo@bar.ru
To: lorem@ipsum.ru
Hello!
.
250 2.0.0 from MTA(smtp:[127.0.0.1]:10025): 250 2.0.0 Ok: queued as C1C5A70B207
historydev, гипертекст (html), кстати, не часть протокола http. Он просто отдаёт некоторый контент в байтах. Какой - протоколу неважно. Это может быть html, xml, json, pbf, txt, jpg и вообще любой текстовый или бинарный файл. Отдельная фича - websocket поверх http-запроса.
http тоже интересно потыкаться в особенности, например, в chunked encoding.
historydev, ну если есть возможность, предлагаю попробовать также pop3 и imap, прочитать те самые отпрвленные по smtp письма :) Про ftp я уже говорил. Можно ещё irc, например.
... А лучше научиться сразу делать override'ы к сервисам systemd и не портить файлы, управляемые пакетным менеджером. В конце концов, их для этого и придумали.
По описанию - да, это L7. И да, это можно назвать протоколом.
В чём собственно вопрос? Если хочется понять живые протоколы, то рекомендую попробовать руками из telnet делать HTTP-запросы, поиграться с ftp-сервером или отправить письмо по SMTP.
Нужно в первую очередь искать не курсы, а определяться с темами, которыми придётся непосредственно заниматься.
Сисадмин - очень широкая и разнообразная сфера деятельности. Она включает как администрирование компьютеров обычных пользователей, так и управление сложными разпределёнными системами на тысячах серверов. И ещё много вариаций посередине. И всё это - очень много разных тем, технологий, навыков и компетенций.
В некоторых библиотеках с этим бывают проблемы. Например, в cx-Oracle BLOB и CLOB нужно как-то замысловато обрабатывать. Я в sqlite3 не пробовал с бинарными данными.
Хотя вру, один раз имел дело: https://github.com/shurshur/sastms - но это обёртка над имеющимися данными в SAS.Планете. И там тоже без лишних телодвижений всё работало как надо.
ghostiki, просто базы плохо предназнаены для хранения объёмных данных. В своё время в mysql, например, размер строки в таблице не мог превышать 1000 байт (на все поля).
Можно посмотреть устройство любого, например, форума. Или тот же Wordpress. Везде картинки хранятся отдельно, а в базе указывается только имя и разного рода метаданные (ну там размер, формат, подпись итд).