From 0f48895c688f971f2179ebce29a16328c599d071 Mon Sep 17 00:00:00 2001 From: Sergey Antropoff Date: Thu, 23 Jul 2026 08:31:51 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A3=D0=BB=D1=83=D1=87=D1=88=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20=D0=B2=D1=8B=D0=B2=D0=BE=D0=B4=20make=20status:=20?= =?UTF-8?q?=D0=BA=D1=80=D0=B0=D1=82=D0=BA=D0=BE=20=D0=B8=20=D0=B1=D0=B5?= =?UTF-8?q?=D0=B7=20=D0=BB=D0=BE=D0=B3=D0=BE=D0=B2=20journal?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Одна строка на хост (active/not installed, since, PID, RAM); хост без установки больше не валит весь make. --- Makefile | 18 ++++++++++++++---- README.md | 2 +- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 782380e..a811db4 100644 --- a/Makefile +++ b/Makefile @@ -71,10 +71,20 @@ check: ## Проверить синтаксис playbook ping: ## Проверить SSH-доступ ко всем VPS $(ANSIBLE_ADHOC) hysteria2_servers -m ping $(ANSIBLE_OPTS) -status: ## Статус hysteria-server на VPS - $(ANSIBLE_ADHOC) hysteria2_servers -m shell \ - -a "systemctl status hysteria-server --no-pager || systemctl status hysteria2 --no-pager" \ - -b $(VAULT_ARGS) $(if $(LIMIT),--limit $(LIMIT),) +status: ## Краткий статус hysteria-server на VPS + @$(ANSIBLE_ADHOC) hysteria2_servers -m shell \ + -a 'UNIT=""; \ + if systemctl cat hysteria-server.service >/dev/null 2>&1; then UNIT=hysteria-server; \ + elif systemctl cat hysteria2.service >/dev/null 2>&1; then UNIT=hysteria2; fi; \ + if [ -z "$$UNIT" ]; then echo "not installed"; exit 0; fi; \ + STATE=$$(systemctl is-active "$$UNIT" 2>/dev/null || echo inactive); \ + SINCE=$$(systemctl show -p ActiveEnterTimestamp --value "$$UNIT" 2>/dev/null); \ + PID=$$(systemctl show -p MainPID --value "$$UNIT" 2>/dev/null); \ + MEM=$$(systemctl show -p MemoryCurrent --value "$$UNIT" 2>/dev/null); \ + case "$$MEM" in ""|"[not set]"|"0") MEM="-";; *) MEM="$$((MEM/1024/1024))M";; esac; \ + echo "$$UNIT: $$STATE | since $$SINCE | PID $$PID | RAM $$MEM"; \ + [ "$$STATE" = "active" ]' \ + -b -o $(ANSIBLE_OPTS) install: check ## Установить Hysteria2 на VPS (+ URL и QR локально) $(ANSIBLE) playbook.yml --tags install $(ANSIBLE_OPTS) diff --git a/README.md b/README.md index 607fb5f..7bb2c60 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,7 @@ make install # → output/index.html откроется в браузере | `make init` | Создать конфиги из `.example` и `.vault_pass` | | `make check` | Проверить синтаксис playbook | | `make ping` | Проверить SSH к VPS | -| `make status` | `systemctl status hysteria-server` | +| `make status` | Краткий статус: active / not installed, uptime, PID, RAM | | `make install` | Установка masquerade + экспорт URL/QR/HTML | | `make update` | Обновить бинарник и конфиг; экспорт только для новых/изменённых пользователей | | `make export` | Только экспорт (URL, QR, HTML) без изменений на сервере |