Python позволяет управлять Linux-системой: контролировать соединения, копировать и удалять информацию, отслеживать загрузку CPU, памяти и диска, подключаться к другим компьютерам по SSH, отправлять HTTP-запросы и выполнять прочие системные операции напрямую через терминал.
Подготовка среды
Открываем терминал.
Для Ubuntu: нажмите Ctrl+Alt+T.
В других дистрибутивах ищем приложение «Терминал» через поиск.
Проверяем, есть ли Python в системе. В терминале вводим:
python3 --versionЕсли отображается Python 3.x.x — значит, всё в порядке.
Если появляется ошибка, устанавливаем Python и pip:
sudo apt update
sudo apt install python3 python3-pipСнова проверим:
python3 --versionВсе скрипты будем хранить в одной папке, например ~/python_scripts.
Для её создания в терминале вводим:
mkdir -p ~/python_scripts
cd ~/python_scriptsЕсли папка уже есть:
cd ~/python_scriptsТеперь все файлы будут храниться здесь.
Установка библиотек
В терминале вводим:
pip3 install psutil paramiko schedule requestsБиблиотеки Python нужны для работы с Linux и сетью:
- psutil показывает загрузку процессора (CPU), памяти и диска;
- paramiko позволяет подключаться к другим устройствам по SSH (безопасный удалённый доступ) и выполнять команды;
- schedule запускает процессы по расписанию автоматически, без ручного запуска;
- requests делает запросы к сайтам и интернет-сервисам, контролирует их доступность, скачивает данные.
Управление подключениями
Добавим пользователя.
В терминале переходим в домашний каталог:
cd ~Создаём скрипт:
nano add_user.pyВставляем код:
import subprocess
def add_user(username):
subprocess.run(['sudo', 'useradd', username])
print(f"Пользователь {username} добавлен.")add_user('noviy_user') ― замените на имя нового пользователя.
Сохраняем (Ctrl+O, Enter) и выходим (Ctrl+X).
Запускаем скрипт:
python3 add_user.pyПоявится сообщение о создании пользователя.
Удалим пользователя.
Остаёмся в домашней папке или переходим в неё:
cd ~Создаём скрипт:
nano remove_user.pyВставляем код:
import subprocess
def remove_user(username):
subprocess.run(['sudo', 'userdel', username])
print(f"Пользователь {username} удален.")
remove_user('noviy_user')Сохраняем (Ctrl+O, Enter) и выходим (Ctrl+X).
Запускаем скрипт:
python3 remove_user.pyРабота с файлами и папками
Для копирования файлов переходим в папку с ними:
cd ~/Documents ― замените на свою папку.
Задаём:
nano copy_file.pyВставляем:
import shutil
def copy_file(src, dst):
shutil.copy(src, dst)
print(f"Файл {src} скопирован в {dst}")
copy_file('source.txt', 'destination.txt') # замените на свои файлыСохраняем (Ctrl+O, Enter) и выходим (Ctrl+X).
Проверяем, что файл source.txt существует:
lsЗапускаем:
python3 copy_file.pyПоявится сообщение о копировании файла.
Настроим процесс удаления данных.
Находимся в папке с выбранными для этого файлами.
Создаём скрипт:
nano delete_file.pyВставляем код:
import os
def delete_file(filename):
os.remove(filename)
print(f"Файл {filename} удален.")
delete_file('destination.txt') ― замените на имя файла.Сохраняем (Ctrl+O, Enter) и выходим (Ctrl+X).
Проверяем текущий каталог:
- pwd (покажет путь),
- ls (покажет файлы).
Запуск:
python3 delete_file.pyМониторинг среды
Проверяем загрузки CPU, памяти и диска.
Остаёмся в рабочем каталоге:
cd ~Задаём:
nano system_info.pyВставьте:
import psutil
def system_info():
print(f"Процессор: {psutil.cpu_percent()}% загружен")
print(f"Память: {psutil.virtual_memory().percent}% занята")
print(f"Диск: {psutil.disk_usage('/').percent}% занят")
system_info()Сохраните (Ctrl+O, Enter) и выходим (Ctrl+X).
Запустите:
python3 system_info.pyПоявится информация о загрузке CPU, памяти и диска в процентах.
Список запущенных процессов
Создаём Python-файл. В терминале введём:
nano list_processes.pyОткроется редактор nano (чёрный экран). Вставляем код:
import psutil
def list_processes():
for proc in psutil.process_iter(['pid', 'name']):
print(f"PID: {proc.info['pid']}, Имя: {proc.info['name']}")
list_processes()Сохраняем (Ctrl+O, Enter) и выходим (Ctrl+X).
Запускаем в той же папке (~/python_scripts):
python3 list_processes.pyПоявится список всех запущенных процессов.
Действия в сети
Для проверки доступности другого устройства (ping через Python) в рабочей папке в терминале введём:
cd ~/python_scriptsДалее:
nano ping_test.pyЗатем:
import subprocess
def ping(host):
result = subprocess.run(['ping', '-c', '4', host], capture_output=True, text=True)
print(result.stdout)
ping('8.8.8.8') # замените на IP или доменСохраняем и выходим:
Ctrl+O, Enter → Ctrl+X
Запускаем:
python3 ping_test.pyНа экране появится информация, есть ли связь с указанным компьютером, время отклика и потерю пакетов.
Подключение к другому серверу по SSH
В рабочей папке:
cd ~/python_scriptsСоздаём файл:
nano ssh_connect.pyВставляем:
import paramiko
def ssh_connect(host, username, password):
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(host, username=username, password=password)
stdin, stdout, stderr = client.exec_command('uptime')
print(stdout.read().decode())
client.close()
ssh_connect('192.168.1.10', 'user', 'password') # замените на свои данныеДальше:
Ctrl+O, Enter → Ctrl+X
Затем:
python3 ssh_connect.pyвидим информацию о времени работы удалённого сервера.
Автозапуск по времени
Рабочая папка:
cd ~/python_scriptsПишем скрипт:
nano scheduled_task.pyКопируем код:
import schedule
import time
def job():
print("Задача выполнена!")
(Запуск задачи каждый день в 3:00)
schedule.every().day.at("03:00").do(job)
while True:
schedule.run_pending()
time.sleep(60)Ctrl+O, Enter → Ctrl+X. И дальше:
python3 scheduled_task.pyТеперь каждый день в заданное время будет появляться сообщение о статусе действий.
Резервные копии
Рабочая папка:
cd ~/python_scriptsСоздаём файл:
nano backup_folder.pyВставляем:
import shutil
shutil.copytree('/home/user/data', '/home/user/backup/data')
print("Копирование завершено")Как обычно: Ctrl+O, Enter → Ctrl+X.
И ― python3 backup_folder.py
Папка data будет скопирована в backup.
Управление правами доступа
Рабочая папка:
cd ~/python_scriptsСоздаём файл:
nano change_permissions.pyВставляем код:
import os
os.chmod('file.txt', 0o755)
print("Права доступа изменены")Завершаем:
Ctrl+O, Enter → Ctrl+X
Включаем:
sudo python3 change_permissions.pyВладелец может читать, писать и запускать файл; остальные пользователи могут только читать и запускать (права 755).
Заключение
Python открывает широкий спектр возможностей для администрирования Linux-систем. С его помощью можно автоматизировать повседневные задачи — от создания пользователей и управления файлами до мониторинга ресурсов и подключения к удалённым серверам по SSH. Простые скрипты экономят время, снижают риск ошибок и позволяют сосредоточиться на действительно важных процессах.
Используя описанные примеры как основу, вы сможете адаптировать их под свои проекты и постепенно собирать собственный набор инструментов для эффективного администрирования. А если нагрузка на ваши сервисы растёт, всегда можно перенести решения на VPS — это обеспечит больше стабильности, гибкости и контроля.
Читайте в блоге:
- Создание мультизагрузочной флешки на Ubuntu 24.04 (с Ubuntu, Linux Mint и Windows)
- Принцип наименьших привилегий в Docker: руководство по Linux Capabilities
- Оптимизация SWAP в Linux: как настроить память и повысить стабильность сервера

