#python #django #linux #sysadmin
#python #django #linux #системный администратор
Вопрос:
Я только начал изучать Django, и моя главная цель — создать веб-сайт компании во внутренней сети, где я мог бы заниматься системным администрированием, таким как резервное копирование, восстановление и т.д.
Я нашел различные руководства по Django об общих веб-сайтах, но я не смог найти никаких руководств / ссылок, где кто-либо думал о выполнении задач системного администрирования через веб-интерфейс.
Как я могу использовать модели / представления и интегрироваться с функциями Python?
Комментарии:
1. Аутентификация является основной задачей для любой автоматизации системного администрирования, доступ к которой обеспечивается через веб-интерфейс. Это верно независимо от используемых технологий веб-программирования или фреймворков. По сути, это одна и та же проблема, независимо от того, используете ли вы простой, старомодный CGI или новейший Django с самыми изящными AJAX-компонентами. Насколько вы доверяете аутентификации, которая прошла через ваш браузер и ваш веб-сервер?
Ответ №1:
Если все, что вы хотите, это выполнять задачи администрирования, тогда я предлагаю использовать webmin. Если вы просто хотите сделать это, чтобы изучить Django / Python, тогда не стесняйтесь использовать функциональность webmin в качестве руководства. Подумайте обо всех шагах, связанных с созданием резервных копий, перемещением файлов и другими задачами администрирования. Это должно помочь вам лучше понять проблему и разбить ее на управляемые фрагменты.
Помните, что Django — это на самом деле просто Python, и это может быть чрезвычайно мощным инструментом. Попробуйте взглянуть на некоторые из ваших скриптов на Python, которые вы используете для системного администрирования. Возможно, вы можете адаптировать их как веб-интерфейс.
Комментарии:
1. Я хочу сам кодировать и учиться. Webmin закодирован на python?? У меня уже есть 4-5 скриптов, работающих на Python. но я немного запутался в том, как получить эти данные из представления в шаблон. я знаю, что это не сложно, но для начала, если я смогу получить какой-либо готовый к использованию скрипт, я смогу посмотреть, как он передает переменные / значения из моделей, bviews в шаблон
2. Подумайте о создании блога с помощью фреймворка и ознакомьтесь с некоторыми общими руководствами по фреймворку. Обычно любой код, который работает с данными, передается в контроллер.
Ответ №2:
Ansible выполняет то, что вы описываете.
Ответ №3:
Как говорит Девин М, Django — это «просто Python» в серверной части (то есть функции, вызываемые вашими представлениями), поэтому, если бы вы действительно захотели, вы могли бы использовать библиотеку типа Fabric для вызова действий системного администрирования, не требуя, чтобы ваш веб-сервер имел прямой доступ к инфраструктуре.
Ответ №4:
Вы можете использовать Python (Django) SSH для выполнения всех задач системного администрирования. У меня дома мы создали пользовательскую веб-систему мониторинга компьютеров с возможностью системного администрирования.
Все, что вам нужно, это, по сути, настройка SSH-соединения без пароля для каждого сервера. Мы решили использовать метод SSH key. Все задачи системного администрирования выполнялись, например, с использованием SSH ssh user@server1 'sh backupall.sh'
. Все, что осталось, это создать приложение на Python (Django), которое выполняет все эти SSH-команды.