1. Что нам понадобится

Компонент Зачем
speedtest‑cli (Ookla) Быстрый измеритель ping, download и upload из терминала
Python 3 Скрипт, который будет запускать тест и сохранять результаты
systemd‑timer Планировщик, который будет вызывать скрипт каждые N минут
CSV‑файл Удобный формат для последующего анализа в таблицах

2. Установка измерителя

sudo apt update
sudo apt install -y speedtest-cli python3

Проверьте, что всё работает:

speedtest-cli --simple

Вы увидите три строки: ping, download и upload в Мбит/с.

3. Скрипт‑логгер

Создайте папку проекта и файл internet_speed_tracker.py:

mkdir -p ~/InternetSpeedTracker
cd ~/InternetSpeedTracker
nano internet_speed_tracker.py
#!/usr/bin/env python3
import subprocess, csv, os
from datetime import datetime

LOG = os.path.join(os.path.dirname(__file__), "speed_log.csv")

def run_test():
try:
out = subprocess.check_output(["speedtest-cli", "--simple"]).decode()
p, d, u = [line.split()[1] for line in out.splitlines()[:3]]
return p, d, u
except:
return "0", "0", "0"

def main():
ts = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
ping, dl, ul = run_test()
new = not os.path.isfile(LOG)
with open(LOG, "a", newline="") as f:
w = csv.writer(f)
if new: w.writerow(["Timestamp", "Ping (ms)", "Download (Mbit/s)", "Upload (Mbit/s)"])
w.writerow([ts, ping, dl, ul])

if __name__ == "__main__":
main()

Сохраните (Ctrl+O Enter) и сделайте файл исполняемым:

chmod +x internet_speed_tracker.py

Запустите один раз, чтобы убедиться, что появился speed_log.csv.

4. Автоматизация через systemd

Сервис

sudo nano /etc/systemd/system/internet-speed-tracker.service
[Service]
ExecStart=/usr/bin/python3 /home/youruser/InternetSpeedTracker/internet_speed_tracker.py
User=youruser

Таймер

sudo nano /etc/systemd/system/internet-speed-tracker.timer
[Timer]
OnBootSec=5min # через 5 мин после загрузки
OnUnitActiveSec=30min # каждые 30 мин (измените под себя)
Persistent=true

[Install]
WantedBy=timers.target

Перезагрузите конфигурацию и включите таймер:

sudo systemctl daemon-reload
sudo systemctl enable --now internet-speed-tracker.timer

5. Что дальше

Через несколько дней в speed_log.csv будет набор записей:

Timestamp Ping (ms) Download (Mbit/s) Upload (Mbit/s)
2026‑02‑20 18:30:00 22 48.7 12.3
  • Пики падения (скорость в два‑три раза ниже обычной) → перегрузка линии у провайдера.
  • Нулевые строки → полное отсутствие соединения.
  • Постоянно низкий download → возможно, проблема в оборудовании или тарифе.

С этими данными вы сможете аргументированно обратиться к провайдеру, показать, что "up‑to"‑скорости не достигаются регулярно.

Готово: ваш домашний роутер теперь сам собирает статистику, а вы получаете чёткую картину работы интернета.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *