работа и карьера ›Системный администратор · Пошагово
28 июня 2026 г. · 3 мин чтения
Как сисадмину автоматизировать рутинные задачи с помощью Python
Сисадмин, автоматизируй рутину с Python: мониторинг серверов, бэкапы, работа с логами, управление пользователями, уведомления в Telegram. Пошаговая инструкция с примерами скриптов для 2026 года.
Что понадобится
Для автоматизации вам понадобится Python 3.10 или новее (уже предустановлен в большинстве дистрибутивов Linux), базовые знания командной строки и доступ к серверам (SSH). Также пригодятся библиотеки: paramiko (для SSH), psutil (для сбора метрик системы), requests (для HTTP-запросов) и python-telegram-bot (для отправки уведомлений).
Пошаговая инструкция — 7 шагов
- 1Шаг 1: Установка Python и необходимых библиотекУбедитесь, что Python установлен: python3 --version. Если нет — установите через пакетный менеджер (apt install python3). Далее установите библиотеки: pip3 install paramiko psutil requests python-telegram-bot. Для тестов используйте виртуальное окружение (python3 -m venv venv).Зарегистрировать домен и хостинг →
- 2Шаг 2: Создание скрипта мониторинга загрузки CPU и RAMНапишите скрипт, который каждые 5 минут проверяет загрузку CPU и использование RAM. Используйте psutil.cpu_percent(interval=1) и psutil.virtual_memory(). Если загрузка превышает 90% — записывайте в лог и отправляйте уведомление. Пример: while True: time.sleep(300); check().
- 3Шаг 3: Автоматический бэкап баз данных и файлов конфигурацииСоздайте скрипт, который архивирует важные директории (/etc, /var/log) и дампы MySQL/PostgreSQL. Используйте subprocess для вызова mysqldump и tar. Сохраняйте архивы на удалённый сервер через rsync или SCP. Запускайте по cron: 0 3 * * * /usr/bin/python3 /opt/backup.py.
- 4Шаг 4: Парсинг и анализ логов с отправкой отчётовНапишите скрипт, который ежедневно анализирует /var/log/syslog на предмет ошибок (ERROR, CRITICAL). Собирайте статистику: количество ошибок, IP-адреса атак, время. Формируйте отчёт в HTML и отправляйте на почту через smtplib. Пример: grep 'error' | sort | uniq -c.
- 5Шаг 5: Управление пользователями — создание, блокировка, удалениеАвтоматизируйте создание учётных записей через скрипт: читайте CSV-файл с именами, генерируйте пароли, создавайте пользователей (useradd), настраивайте SSH-ключи. Для блокировки используйте usermod -L. Для удаления — userdel -r. Интегрируйте с AD через ldap3, если используется Active Directory.
- 6Шаг 6: Настройка уведомлений в Telegram через ботаСоздайте бота в Telegram через @BotFather, получите токен. В скрипте используйте python-telegram-bot для отправки сообщений: bot.send_message(chat_id='@your_channel', text='Alert: CPU > 90%'). Установите chat_id (можно через @userinfobot). Добавьте обработку исключений.
- 7Шаг 7: Организация запуска скриптов по расписанию (cron/systemd)Используйте cron для простых задач: crontab -e, добавьте строку вида */5 * * * * /usr/bin/python3 /opt/monitor.py. Для сложных сервисов используйте systemd: создайте unit-файл с описанием, включите автозапуск (systemctl enable). Не забудьте про логирование stdout/stderr в файл.
Частые ошибки
Не обрабатывать исключения в скриптах — при ошибке скрипт падает без уведомления.
Хранить пароли в открытом виде в коде — используйте переменные окружения или vault.
Запускать скрипты от root без необходимости — создайте отдельного пользователя с правами sudo.
Частые вопросы
Какой Python лучше использовать для автоматизации?
Python 3.10 или новее — стабилен, поддерживает всё необходимое. Избегайте Python 2 — он устарел.
Нужно ли учить Bash, если я пишу на Python?
Да, базовые команды Bash пригодятся для интеграции с системой и отладки. Python дополняет, но не заменяет Bash.
Как защитить скрипты от несанкционированного доступа?
Установите права 700 на скрипты, храните секреты в .env файлах, используйте группы пользователей.
Сколько времени занимает написание первого скрипта?
Простой скрипт мониторинга — 1-2 часа с учётом тестирования. Сложные интеграции — до дня.
Можно ли автоматизировать задачи на Windows?
Да, Python работает на Windows. Используйте win32com для работы с AD, WMI для мониторинга, планировщик задач вместо cron.
Партнёр
sgenerate.ru— нейросеть для постов ВКонтакте и TelegramГенерирует текст и картинку за 5 секунд, строит контент-план, публикует по расписанию. Пакет START — бесплатно. Попробовать →