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: как настроить память и повысить стабильность сервера