Обновить

Администрирование

Сначала показывать
Порог рейтинга

Вышел открытый проект Craft Anything для создания с помощью реверс-инжиниринга и ИИ клонов сайтов, приложений, сервисов и игр. Решение написано на языке Rust и опубликовано под лицензиями MIT и Apache 2.0.

Сборки проекта доступны для Linux, FreeBSD, Windows и macOS, а также есть браузерный вариант, скомпилированный в WebAssembly.

Теги:
0
Комментарии1

AI-агенты в DevOps: от «умного чата» до автономного помощника

Раньше работа с LLM в DevOps выглядела так: инженер вручную собирает логи, вставляет в чат, читает саммари - и только потом действует. Человек оставался «передаточным звеном» между моделью и инфраструктурой.

Сейчас AI-агенты учатся работать автономно: сами собирают контекст, выполняют команды и проверяют результат. Но как устроена такая система и что даёт ей «зрение» на инфраструктуру?

В новой статье разобрали:

🔹из каких компонентов состоит агентная система и почему ReAct — её ядро

🔹какие DevOps-задачи уже можно отдать агенту: от диагностики сервисов до AI-шагов в CI/CD

🔹что такое MCP и почему без него агент остаётся «собеседником», а не рабочим интерфейсом к инфраструктуре

Главное до прочтения: MCP - открытый протокол, который стандартизирует подключение LLM к внешним инструментам. Один раз настраиваете сервер - и агент сам понимает, как читать логи, ходить в GitHub, выполнять SQL или работать с Kubernetes. Но MCP не гарантирует безопасность: как выдавать минимальные права, логировать действия и где ставить human-in-the-loop - разбираем в статье.

Полный разбор 👉 ЧИТАТЬ

Теги:
0
Комментарии0

Как настроить тестовую среду без копирования прода

Тестовый сервер нужен, чтобы проверять новые версии приложения, миграции базы данных и интеграции до выхода в прод. При этом его не обязательно делать полной копией рабочей инфраструктуры. Важно правильно определить, какие параметры должны совпадать, а какие можно упростить.

Что должно совпадать

Чтобы результаты тестирования соответствовали реальному поведению приложения, на стенде стоит использовать те же версии:

  • операционной системы и системных библиотек;

  • среды выполнения и основных зависимостей;

  • СУБД и Nginx.

Также важно сохранить последовательность развертывания: установку зависимостей, запуск миграций и проверку приложения.

На чем можно сэкономить

Для функциональных тестов стенду необязательно иметь столько же CPU и RAM, сколько рабочей среде. Ресурсов должно хватать для проверяемых сценариев.

Исключение — нагрузочные испытания и проверка отказоустойчивости. В этих случаях характеристики инфраструктуры подбирают под условия, которые нужно воспроизвести.

Почему важна изоляция

Похожая конфигурация не означает общие ресурсы. У тестовой среды должны быть собственные базы данных, хранилища, API-ключи и учетные записи внешних сервисов. 

Например, ошибка в настройках S3 может направить тестовое приложение к рабочему хранилищу. Поэтому для стенда используют отдельные доступы, а тестовые данные создают искусственно или предварительно обезличивают копию production-базы.

Как проверить воспроизводимость

Попробуйте развернуть тестовую среду на чистой виртуальной машине. Если для этого достаточно сохраненной конфигурации Docker Compose, Terraform или Ansible, а ручная настройка не требуется, стенд можно считать воспроизводимым.

В статье в блоге Рег.облака разбираем, как создать тестовый сервер: выбрать инфраструктуру, настроить домен и HTTPS, организовать мониторинг и резервное копирование, а еще автоматизировать управление окружениями. Читайте, чтобы разобраться, как подготовить надежную среду для разработки и избежать ошибок при настройке.

Теги:
0
Комментарии0

Сервер был выключен ночью. Выполнит ли systemd пропущенный бэкап?

Допустим, бэкап запускается каждый день в 03:00 через systemd-таймер. Ночью сервер был выключен, а утром его включили. Запустится ли бэкап после загрузки?

Это зависит от настройки Persistent.

Предположим, что backup.service уже настроен и выполняет резервное копирование. Добавим для него таймер /etc/systemd/system/backup.timer:

[Unit]
Description=Daily backup timer

[Timer]
OnCalendar=*-*-* 03:00:00
Persistent=true

[Install]
WantedBy=timers.target

По умолчанию backup.timer запускает одноимённый backup.service. Время в примере указано в часовом поясе сервера.

Загрузим настройки и включим новый таймер:

sudo systemctl daemon-reload
sudo systemctl enable --now backup.timer

Теперь представим, что таймер уже работал, но однажды сервер оказался выключен в 03:00. При следующей активации таймера systemd увидит пропуск и инициирует запуск сервиса.

Для этого Persistent=true хранит на диске отметку о последнем срабатывании. По умолчанию настройка выключена — тогда запуск, пропущенный из-за выключения сервера, не компенсируется.

Есть несколько ограничений:

  • Если сервер был выключен три дня, таймер не запустит три отдельных бэкапа.

  • Persistent работает для календарного расписания OnCalendar. Для OnUnitActiveSec эта настройка не действует.

  • Если backup.service уже активен, таймер не запустит его повторно.

  • Если задан RandomizedDelaySec, компенсирующий запуск тоже может произойти с задержкой.

Посмотреть расписание и журнал сервиса можно так:

systemctl list-timers --all backup.timer
sudo journalctl -u backup.service -n 50 --no-pager

Persistent=true помогает компенсировать пропущенный запуск. При этом успешность бэкапа всё равно нужно проверять отдельно: срабатывание таймера не означает, что копия создана и пригодна для восстановления.

Здесь возникает вопрос к читателям: ваши задачи после простоя должны запускаться один раз или обрабатывать каждый пропущенный период?

Теги:
+1
Комментарии0

Представлен открытый мультиплатформенный проект FMX — Free Media Xpress для конвертирования файлов по одному клику. Решение написано на Rust и поддерживает преобразование видео и аудио (MP4, MKV, WebM, MOV, AVI, GIF, MP3, M4A, FLAC, WAV, OGG), изображений ( JPG, PNG, WebP) и PDF‑документов. Проект работает сразу после установки, все необходимые компоненты в наличии.

Теги:
0
Комментарии0

В каких сферах пишут на Python в 2026?

Python по-прежнему остается одним из самых популярных языков программирования. Несмотря на его плюсы и минусы, он прочно удерживает лидирующие позиции и применяется в самых разных областях.

Одним из главных преимуществ Python, которое часто отмечают эксперты, является огромное количество фреймворков и библиотек, созданных сообществом. На Python можно сделать буквально всё! Хотите десктопное приложение? Используйте PyQt, который использует реализацию Qt из C++. Python медленнее компилируемых языков? Сообщество уже создало решения для компиляции Python в нативный код. Эти и многие другие примеры показывают, почему язык так популярен.

Давайте разберёмся конкретнее, что пишут на Python сегодня.

DevOps и автоматизация

В контексте DevOps Python выступает в роли «клея», который скриптами соединяет подзадачи в рамках большой архитектурной цели. На нём можно как описывать инфраструктуру (например, с помощью Pulumi), так и создавать кастомные пайплайны. При оркестрации приложений часто пишутся отдельные Python-скрипты, которые последовательно выполняют процессы развёртывания.

Отдельно стоит выделить использование Python вместе с Ansible. Эта технология позволяет автоматически выполнять полную настройку приложения на новом сервере, заменяя ручную работу инженера: настройку конфигураций, подключение метрик и систем логирования в комплексных проектах.

Machine Learning и Data Science

Анализ рынка вакансий показывает, что практически весь Machine Learning реализуется на Python. Благодаря своей простоте Python позволяет писать понятный код, который вызывает «тяжеловесные» ML-библиотеки, такие как TensorFlow или PyTorch. В машинном обучении инженерам часто важнее думать о концепциях ML/AI, чем о тонкостях языка.

Особое место в экосистеме занимает Jupyter Notebook. Этот инструмент позволяет работать с большими данными и обучать модели прямо в облаке, без необходимости иметь мощный локальный компьютер. А возможность оформить исполняемый код как интерактивный доклад и поделиться им делает Python основным выбором для исследований и коллаборации.

Backend-разработка

В своё время для бэкенд-систем на Python был невероятно популярен фреймворк Django. Однако сейчас всё активнее используется современный асинхронный подход с фреймворком FastAPI. Построенный на библиотеках Starlette, Pydantic и Uvicorn, он позволяет добиться высокой производительности для API.

Для более простых синхронных задач по-прежнему часто выбирают Flask. Таким образом, несмотря на наличие Global Interpreter Lock (GIL), у Python есть несколько сильных и востребованных фреймворков для backend-а.

Тестирование

Тестировщики по всему миру используют библиотеку pytest для создания автоматизированных проверок любого уровня сложности. На Python можно тестировать веб-интерфейсы (с помощью Selenium или Playwright), backend-логику и работу с базами данных. Для тестирования десктопных приложений можно создать собственную прослойку, например, через telnet или другие протоколы.

Такие автоматизированные проверки интегрируются в CI/CD-пайплайны для контроля качества кода и поддержания стабильности продакшен-среды. Результаты тестов затем удобно визуализируются в виде отчётов с помощью инструментов вроде Allure.

В этой статье опущены некоторые прикладные направления, например, создание Telegram-ботов или использование скриптов в GameDev. Это уже дело вкуса и выбора оптимального решения для конкретной задачи. В любом случае, Python открывает перед разработчиком целый спектр возможностей — остаётся только выбрать своё направление.

P.S. А ещё на Python можно писать почти по-русски! (Но лучше так не делать в продакшене 😉)

Хотите глубже погрузиться в мир Python и применить его на практике в реальных инженерных задачах? Записывайтесь на наш курс Основы языка программирования Python

На курсе вас ждёт ещё больше структурированной информации, практических кейсов из области DevOps, автоматизации, анализа данных и многое другое.

Теги:
-1
Комментарии0

Пора ли менять Microsoft Office?

28 октября Роскомнадзор внёс Apple и Microsoft в реестр организаторов распространения информации. Аналогичная история с LinkedIn закончилась блокировкой ресурса и сложностями доступа к соцсети на территории России. Логично задуматься о запасных вариантах для Microsoft Office, который до сих пор применяется во многих компаниях.

Казалось бы, в России уже больше 4 лет компании активно работают над импортозамещением офисных приложений, и даже есть кейсы, которые публично объявлены удачными, — например, перевод десятков тысяч компьютеров Федерального казначейства на российские офисные приложения. Однако есть и обратные примеры. Причём не только в России, но и в Европе, где пытаются сэкономить и не зависеть от монополии американской Microsoft. Из свежих — неудачная попытка Министерства цифровизации Дании перейти с Microsoft Office на open-source офисный пакет Collabora — типичный пример потери ресурсов при попытке сэкономить без достаточной глубины планирования.

Попытки замены Microsoft Office возникают давно — как в России, так и в Европе. Например, в администрации Мюнхена попытались перевести 30 000 компьютеров на Linux и Open Office ещё в 2003 году, но в 2017 году вернулись к американским решениям. За прошедшее время альтернативные продукты развивались, но пример Министерства цифровизации Дании показывает, что проблемы остаются прежними — пустые страницы, проблемы с форматированием и отслеживанием изменений. И главная — нерешительность: так, в Дании эксперимент был прекращён через 1,5 месяца из-за … досрочных выборов.

Предугадать события в России невозможно, поэтому стоит рассмотреть план действий на случай отключения онлайновой работы Microsoft Office. Может, вам хватит офлайн-режима приложения (и тогда это должен быть не Office 365), в ином случае стоит рассмотреть переход на open-source или российские офисные приложения.

В любом случае переход не произойдёт за 1 день, поэтому важно с ИТ-службой просчитать, какой вариант лучше, сколько займёт переход, и быть готовым протестировать альтернативные решения, доработать лучшее под себя или найти ресурсы, чтобы оплатить это внешнему подрядчику. И если вы решили пройти этот путь, не останавливайтесь, чтобы не тратить ваше время зря.

Теги:
+25
Комментарии3

Скрипт работает в терминале, а под systemd не находит файл. Почему?

Представим: app.py и config.json лежат в /opt/mybot. При запуске из этого каталога всё работает, а системный сервис падает с FileNotFoundError.

Причина может быть в такой строке:

with open("config.json", encoding="utf-8") as file:
    ...

Относительный путь отсчитывается от рабочей директории процесса. Даже абсолютный путь к app.py в ExecStart не означает, что systemd перейдёт в каталог скрипта.

У обычного системного сервиса без WorkingDirectory рабочая директория по умолчанию — /. У пользовательского сервиса, управляемого через systemctl --user, — домашний каталог пользователя. Указание User= в системном сервисе само по себе рабочую директорию не меняет.

Для диагностики можно временно добавить перед открытием файла:

from pathlib import Path
import logging

logging.warning(
    "cwd=%s; config=%s",
    Path.cwd(),
    Path("config.json").resolve(),
)

Так в журнале будет видно, какой путь использует программа.

Если приложение должно запускаться из своего каталога, укажите его в существующем unit-файле:

[Service]
WorkingDirectory=/opt/mybot
ExecStart=/opt/mybot/.venv/bin/python /opt/mybot/app.py

После изменения системного unit-файла:

sudo systemctl daemon-reload
sudo systemctl restart mybot.service

Другой вариант — привязать путь к файлу скрипта, если конфигурация по устройству проекта лежит рядом с ним:

from pathlib import Path

config_path = Path(__file__).resolve().parent / "config.json"

with config_path.open(encoding="utf-8") as file:
    ...

Это устраняет зависимость данного пути от рабочей директории. Если ошибка остаётся, нужно проверить существование файла, права пользователя сервиса и ограничения доступа в unit-файле.

Итог: расположение скрипта и рабочая директория процесса — разные вещи. Явная точка отсчёта для путей делает запуск предсказуемее. Расскажите, продолжат ли работать ваши скрипты, если запустить их из другого каталога?

Теги:
+2
Комментарии1

Представлен проект hop‑drop — AirDrop для Windows, созданный с помощью Opus 5.5. Работает просто: перетаскиваем файл на другой комп прямо на экране — он передаётся по локальной сети.

Теги:
+1
Комментарии1

Сделал конструктор маршрутизации для VPN-клиентов

Задача знакомая всем, кто сидит на VPN: YouTube и Telegram нужны через туннель, а банк, Госуслуги и маркетплейсы напрямую. Иначе банк ругается на вход из-за границы, а Госуслуги просто не открываются.

Настраивается это маршрутизацией в клиенте, и вот тут начинается боль. У Xray свой синтаксис с geosite и domain, у sing-box свои rule-set, у Clash свои строчки правил, Happ хочет base64 в ссылке, v2rayN свой массив, Amnezia вообще список сайтов с IP. Генераторы, которые я находил, умеют что-то одно и рассчитаны на тех, кто и так всё это знает.

Мне надоело каждый раз собирать это руками, поэтому сделал сайт: routeruls.site

Как пользоваться. Выбираешь приложение, потом сценарий (всё через VPN кроме российских сайтов, всё через VPN или только выбранное), отмечаешь нужные сервисы и получаешь готовую настройку. В Happ она ставится одной кнопкой или по QR-коду, в v2rayNG тоже по QR, для остальных скачивается файл и есть короткая инструкция, куда его положить.

Сервисов около 35, и поиск понимает нормальные человеческие запросы вроде «ютуб», «телега» или «чатгпт». Свои сайты можно вставлять как угодно, хоть ссылкой прямо из адресной строки, хоть кириллическим доменом, хоть подсетью. Сайт сам всё почистит и приведёт к нужному виду.

Поддерживаются Happ, v2rayN и v2rayNG, AmneziaVPN, роутеры Keenetic с xKeen, Clash/mihomo, sing-box и Xray.

Что мне самому было важно:

Он не врёт про ограничения. Happ не умеет правила по портам, Amnezia не умеет блокировать. Многие генераторы такое молча выкидывают, а тут сразу видно, что именно не вошло в файл и почему.

Конфиги проверены настоящими ядрами. Каждый формат прогоняю через Xray, sing-box и mihomo в докере, так что если файл скачался, ядро его примет.

Для Keenetic и Xray можно вставить свои ссылки vless, vmess, trojan, ss или hysteria2 и получить конфиг целиком, вместе с серверами. Если серверов несколько, клиент сам будет выбирать самый быстрый. Ссылки при этом никуда не сохраняются и в «Поделиться» не попадают.

Всё работает в браузере, регистрации нет, правила на сервер не уходят. Настройкой можно поделиться ссылкой, она хранится прямо в ней.

Для тех, кто разбирается, есть расширенный режим: свои правила с портами и протоколами, импорт существующего конфига, проверка «куда пойдёт этот сайт» и конвертер, например из Xray в sing-box.

Отдельно про Amnezia, тут было интересно. Там есть импорт списка сайтов в JSON, и кажется, что она работает с доменами. Я полез в исходники клиента и выяснил, что на самом деле всё идёт по IP. На компьютере Amnezia сама узнаёт адреса при подключении, а на телефоне берёт только те IP, что лежат в файле. Если в файле одни домены без адресов, на Android и iOS правила просто не работают, хотя в интерфейсе всё выглядит нормально.

Поэтому для Amnezia конструктор сразу подставляет IP. Для российских сайтов берёт их из моего списка amnezia-tunneling-ru на гитхабе, он обновляется каждый день, и адреса там получены через российские DNS. Это важно: тот же mos.ru через Яндекс и через Google отдаёт разные адреса. Плюс конструктор не кладёт в файл локальные подсети, с ними Amnezia ломает подключение, и подсказывает, какой режим выбрать в приложении.

Буду рад, если потестите на своих устройствах и напишете, что работает криво или какого сервиса не хватает.

Теги:
+1
Комментарии0

Как ИТ-дочка группы «Самолет» сократила затраты на VDI в 4 раза

🏭 Что за компания
ООО «Диджитал Девелопмент» — ИТ-компания группы «Самолет». Разрабатывает программное обеспечение и цифровизирует строительные процессы. Ее ключевой продукт — платформа «Самолет 10D» для автоматизации строительного цикла.

⚡ Задача
Компания использовала инфраструктуру VDI для работы проектировщиков с AutoCAD и Revit. Виртуальные машины размещались у другого облачного провайдера на выделенном хосте. Команда хотела сократить расходы и перейти на модель pay-as-you-go, чтобы более гибко управлять ресурсами и не оплачивать вычислительные мощности, когда они не нужны.

☁️ Что сделали
В начале 2026 года команда за две недели протестировала сервис VDI на платформе Cloud.ru. Затем за месяц перенесла в контур провайдера 900 виртуальных машин. Настроили автоматическое масштабирование вычислительных ресурсов и GPU в зависимости от нагрузки: система выделяет дополнительные мощности при росте и высвобождает их при снижении. Чтобы сократить оплачиваемое время работы, настроили автоматическое отключение ВМ: с 18:00 до 08:00 скрипт проверяет активность пользователей и выключает машину, если сессия неактивна два часа. В рабочее время также отключаются ВМ без активных сессий, если сотрудник находится в отпуске, отгуле или на больничном.

Для ускорения загрузки и синхронизации моделей Revit развернули Revit-Server с ролью Accelerator, который кеширует данные моделей.

🦾 Что получили
По данным компании, после миграции и настройки управления ресурсами ежемесячные затраты на VDI сократились в четыре раза. Производительность при работе с Revit выросла на 15%, но, конечно же, это результат комплекса изменений, а не просто смены модели оплаты.

Читайте подробнее на сайте Cloud.ru

Теги:
0
Комментарии1

Вебинар по zVirt SE: новое поколение сертифицированной ФСТЭК виртуализации

Привет! 5 ноября в 11:00 расскажем о крупном обновлении сертифицированной редакции нашей платформы виртуализации. Впервые ее функциональность полностью совпадает с коммерческой версией zVirt 5.0. Теперь в защищенных контурах можно использовать сертифицированную версию, не жертвуя функциональными возможностями продукта.

На вебинаре расскажем, как устроена единая технологическая платформа для всех редакций zVirt и что это значит для действующих пользователей сертифицированной версии zVirt Max. А поскольку требования регулятора тоже меняются, эксперты аккредитованной ФСТЭК России испытательной лаборатории и органа по сертификации, расскажут, как меняются подходы к сертификации, какие новые требования появляются, какие становятся строже и что это значит для рынка.

Что будет на вебинаре?

— zVirt SE и новая архитектура: что вошло в сертифицированную версию и какие возможности Orion soft первыми на российском рынке реализовала в сертифицированном продукте

— Сертификация и аттестация: как меняются требования ФСТЭК России, для каких аттестованных контуров подходит zVirt SE и достаточно ли возможностей платформы для выполнения 117 ФЗ

— Планы развития до 2027 года: синхронизация коммерческой и сертифицированной версий и возможности, которые появятся в zVirt в 2027 году

— Миграция и лицензирование: как перейти с zVirt Max на zVirt SE, сколько будет поддерживаться предыдущая версия и как устроена новая модель лицензирования

Присоединяйтесь! Регистрация открыта по ссылке.

Теги:
0
Комментарии0

Представлен проект DigGitHub — добавьте «dig» к любому URL-адресу на GitHub, чтобы узнать, «жив» ли проект.

Type dig in front of any GitHub URL: github.com/owner/repo → diggithub.com/owner/repo

DigGitHub находит инструменты с открытым исходным кодом — действительно качественные, актуальные и готовые к использованию. Все представленные проекты проверены людьми и обновляются ежедневно.

Теги:
+2
Комментарии3

Ближайшие события

Лайфхак для минимального хостинга веба от создателя Flipper Павла Жовнера:

1. Вешаете веб-сервер на ipv6 адрес.

2. На cloudflare создаете только одну АААА-запись на ipv6 и включаете проксирование.

3. Cloudflare сам дает вам ipv4 и ipv6 и ваш сайт работает везде.

Удобство такого подхода в том что не нужно платить за ipv4, можно хоть каждый контейнер повесить на отдельный ipv6 адрес. Ваш бекенд не долбят сканеры, брутилки, и его намного сложнее найти тупо сканируя интернет.

Я вообще перестал создавать VPS-ки с ipv4.

Теги:
+3
Комментарии3

Мне давно не хватало простого gui пингера, на подобии Netmap под виндой, который бы работал из коробки и без танцев с бубном в wine. Приложение, которое можно было бы свернуть в трей, не требовало тонну зависимостей, и не имело не нужного функционала, типа веб интерфейса (это уже другой уровень мониторинга)

QPing — написан на Python с использованием библиотеки PyQt6. Для мониторинга доступности сетевых хостов по ICMP или TCP-портов. Предоставляет визуальное отображение статуса хостов в виде графиков с latency и министатистикой. Поддерживает группировку хостов для удобства, и всплывающие уведомления через системный трей.

Основные возможности:

  • Мониторинг хостов через ICMP или TCP-проверки.

  • Визуализация результатов пинга в виде графиков с масштабируемой временной шкалой.

  • Поддержка категорий для группировки хостов.

  • Фильтрация хостов по статусу (показ только недоступных).

  • Уведомления в системном трее при недоступности хоста.

  • Локализация интерфейса (русский и английский по умолчанию).

  • Импорт хостов из текстового файла (hosts, ansible inentory, txt).

  • Перетаскивание хостов для изменения порядка.

  • Сохранение истории проверок и настроек.

Для проверки хостов использует стандартный ping. При наличии fping - появляется возможность проверять хосты пачками.

В версии 2.5:
- Добавление хоста: если в поле ввода указан порт (например, example.com:443 или «example.com 443»), хост сразу создаётся с типом проверки TCP на указанном порту.

- Автоматическое определение типа проверки при добавлении хоста (ICMP → TCP). Настраивается в Settings → General, три режима:

  • Off

  • Только для хостов, добавленных в текущей сессии (по умолчанию)

  • Всегда

    Логика: если ICMP-хост не имеет ни одного успешного ответа и набрал 5 неудач подряд (при условии, что хост добавлен не менее 10 секунд назад), в фоне последовательно проверяются TCP-порты 443, 80 и 22. Если хотя бы один стабильно отвечает, появляется диалог с предложением переключить хост на TCP. Тип меняется только после подтверждения пользователем; предусмотрена кнопка «Больше не спрашивать».

- История загружается посуточно, а не вся сразу.

- Добавлена возможность задать время ожидания ответа.

- Добавлен режим Mute — для конкретного хоста: проверка продолжается, но уведомления о проблемах не отправляются.

- Тёмная тема (для ценителей).

- Кликабельные Down/Warn — клик переключает фильтр filter_failed.

- Трей и уведомления:

• Бейдж с числом недоступных хостов на иконке в трее.

• Группировка уведомлений: если подряд упали 5 хостов, отправляется одно уведомление.

Установка

Способ 1: PPA (Ubuntu 22.04+)

Для пользователей Ubuntu 22.04, 24.04 и новее доступна установка через PPA с автоматическими обновлениями:

sudo add-apt-repository ppa:zersh/qping
sudo apt update
sudo apt install qping

Запуск: qping из терминала или через меню приложений.

Удаление:

sudo apt remove qping
sudo add-apt-repository --remove ppa:zersh/qping

Для работы batch-режима ICMP установить fping:

sudo apt install fping

Способ 2: Из исходников через git

  1. Клонировать репозиторий:

    git clone https://github.com/zersh/QPing.git
    cd QPing
  2. Установить зависимости:

    sudo apt install python3 python3-pyqt6
    # опционально — для batch-режима
    sudo apt install fping
  3. Установить ярлык в меню и на рабочий стол:

    chmod +x install.sh uninstall.sh run.sh
    ./install.sh

После этого QPing появится в меню приложений и на рабочем столе (работает в Gnome и Xfce). Ярлыки устанавливаются относительно текущего каталога.

Удаление ярлыков:

./uninstall.sh

Способ 3: Ручной запуск без установки

  1. Установить зависимости (см. выше).

  2. Запустить приложение напрямую:

    ./run.sh

    или

    python3 qping

Требования

  • Python 3.10+

  • PyQt6

  • Операционная система: Linux (Ubuntu 22.04+ рекомендуется), Windows, macOS

Обратная связь, предложения и аргументированная критика приветствуются :)

Теги:
+1
Комментарии0

VMmanager — в числе лидеров по масштабу внедрений по версии CNews

Проект ISPsystem на базе VMmanager занял второе место в рейтинге «Топ-6 внедрений российских платформ виртуализации» от CNews

CNews Analytics опубликовал рейтинг «Топ-6 внедрений российских платформ виртуализации». Проект ISPsystem на базе VMmanager, реализованный в FirstVDS, занял второе место.

Проекты оценивали по трем критериям: количеству хостов, географии внедрения и доле покрытых рабочих процессов с учётом принадлежности заказчика к КИИ.

О кейсе: VMmanager внедрили в инфраструктуру FirstVDS с распределенной сетью ЦОД. Количество хостов — 1450. В результате удалось создать полностью автоматизированную среду, где VMmanager управляет пулом физических серверов.

После непростого октября для нас особенно ценно признание проекта, за которым стоят работа команды ISPsystem и опыт применения VMmanager в масштабной инфраструктуре партнера. 

Итоги рейтинга смотрите на сайте CNews.

Теги:
+3
Комментарии0

CK-X — симулятор экзаменов по Kubernetes

Если готовитесь к сертификации CKA, CKAD или CKS? На GitHub есть интересный проект CK-X, который позволяет тренироваться в условиях, приближенных к реальному экзамену.

Что умеет CK-X:
- Практические лабораторные задания на готовых кластерах Kubernetes.
- Подготовка к экзаменам CKA, CKAD и CKS.
- Веб-интерфейс с поддержкой удалённого рабочего стола.
- Таймер и ограничение времени, как на настоящем экзамене.
- Автоматическая проверка выполнения заданий в реальном времени.
- Развёртывание через Docker на Linux, macOS и Windows (с WSL2).

Пригодится DevOps-инженерам, системным администраторам и всем, кто изучает Kubernetes и хочет проверить свои навыки на практике.
Проект можно использовать для личного обучения бесплатно.

Больше полезного в телеграм канале Linux | Network | DevOps и на сайте
https://solizarevich.github.io/

Кто уже сдавал CKA, CKAD или CKS? Какой экзамен оказался самым сложным и почему? Или только планируете сдавать? Делитесь опытом в комментариях

Теги:
0
Комментарии0

Скрипт выполняется восемь минут, а запускается каждые пять. Второй экземпляр уже работает

Представим домашний сервер: каждые пять минут cron запускает Python-скрипт, который собирает данные. Обычно он справляется за минуту, но внешний API замедлился, и один запуск занял восемь минут.

В 12:00 скрипт начал работу. В 12:05 cron запустил ещё один экземпляр. Первый всё ещё пишет результат, второй читает и меняет те же файлы. Расписание соблюдено, но появилась параллельная работа, на которую скрипт не рассчитан. Для одной машины с локальной файловой системой можно использовать flock. Например, такая строка пользовательского crontab запускает задачу только при свободной блокировке:

*/5 * * * * /usr/bin/flock --verbose -n /opt/myjob/task.lock /usr/bin/python3 /opt/myjob/task.py >> /opt/myjob/task.log 2>&1

Пути нужно заменить своими. Каталог должен существовать, а пользователь cron — иметь права на создание lock-файла и запись журнала. Python-скрипт в этой схеме работает в переднем плане.

-n значит: если блокировка занята, не ждать освобождения. Поэтому запуск в 12:05 будет пропущен. Если первый закончит в 12:08, следующая попытка по расписанию состоится в 12:10. Все способы запуска, включая ручной, должны использовать ту же блокировку. Один прямой вызов python3 task.py обойдёт эту защиту.

Без -n команда по умолчанию ждёт блокировку. Это полезно не всегда: если работа постоянно занимает дольше интервала, ожидающие процессы начнут накапливаться. Для ограниченного ожидания есть -w, например -w 30 — ждать не больше 30 секунд.

Перед настройкой полезно решить, что делать с пропущенной работой. Если нужен только актуальный снимок данных, следующий запуск может заменить пропущенный. Если нужно обработать каждый отдельный период, понадобится учёт этих периодов и очередь заданий.

У systemd.timer по-другому: если тот же service-unit уже активен, таймер не создаёт второй его экземпляр. Но такое срабатывание само по себе не превращается в отдельную задачу очереди. Команда сервиса тоже должна оставаться под управлением systemd до завершения работы. В журнале стоит различать начало, успешное завершение, ошибку и пропуск из-за блокировки. Ещё полезнее проверять время последнего успешного результата: отсутствие второго процесса ничего не говорит о том, когда данные обновлялись в последний раз.

Блокировка решает проблему параллельного запуска. Дальше нужно определить судьбу пропущенной работы: достаточно ли обновить данные при следующем запуске или каждый период обязательно должен быть обработан. От этого и зависит выбор между пропуском, ожиданием и очередью.

Теги:
+2
Комментарии1

Avito Infraween Party в эту субботу: места почти закончились

Напоминаем: 31 октября мы собираем инженеров на Avito Infraween Party. Регистрация всё ещё открыта, но мест остаётся совсем немного. Если вы думали «потом зарегистрируюсь», лучше сделать это сегодня 🎃

Когда: 31 октября, сбор гостей в 15:00, старт в 15:30
Где: Goelro Loft, ул. Большая Почтовая, 40, строение 7, Москва
Что взять с собой: паспорт или водительское удостоверение

Что будет: проведём два раунда живых дискуссий с инженерами Авито инфраструктурные боли. А после серьёзной части будет чемпионат по метанию списанного железа на дальность. Победителей ждут кубок и мерч :)

Для офлайн-участия нужно зарегистрироваться и дождаться подтверждения в письме. ФИО в форме указывайте так, как в паспорте.

➡ Занять место

До встречи на Infraween!

Теги:
+5
Комментарии0

Бэкапы для выделенных серверов — еще и в S3

У выделенных серверов появились бэкапы. Подключаете — и в вашем S3 сам появляется холодный бакет с плашкой «Бэкапы сервера». Там же переход к настройкам.

Копии в нем можно только читать. Агент сервера записывает новые, но стереть их не может даже своим ключом, так что утечка бэкапам не страшна. А если удалить сервер или бакет, ключ тут же блокируется: никаких забытых доступов.

Сколько копий создавать, решаете сами: есть автоматическая ротация по заданному числу и ручное удаление из панели. Если удалили бакет по ошибке — переподключите бэкапы, и сервер получит новый.

Стоимость — 6 ₽ за 1 ГБ в месяц, сам бакет бесплатный.

Положить копию в S3 →

Теги:
+7
Комментарии0
1
23 ...