Улучшить вывод make status: кратко и без логов journal

Одна строка на хост (active/not installed, since, PID, RAM);
хост без установки больше не валит весь make.
This commit is contained in:
Sergey Antropoff
2026-07-23 08:31:51 +03:00
parent 75f1885772
commit 0f48895c68
2 changed files with 15 additions and 5 deletions
+14 -4
View File
@@ -71,10 +71,20 @@ check: ## Проверить синтаксис playbook
ping: ## Проверить SSH-доступ ко всем VPS ping: ## Проверить SSH-доступ ко всем VPS
$(ANSIBLE_ADHOC) hysteria2_servers -m ping $(ANSIBLE_OPTS) $(ANSIBLE_ADHOC) hysteria2_servers -m ping $(ANSIBLE_OPTS)
status: ## Статус hysteria-server на VPS status: ## Краткий статус hysteria-server на VPS
$(ANSIBLE_ADHOC) hysteria2_servers -m shell \ @$(ANSIBLE_ADHOC) hysteria2_servers -m shell \
-a "systemctl status hysteria-server --no-pager || systemctl status hysteria2 --no-pager" \ -a 'UNIT=""; \
-b $(VAULT_ARGS) $(if $(LIMIT),--limit $(LIMIT),) 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 локально) install: check ## Установить Hysteria2 на VPS (+ URL и QR локально)
$(ANSIBLE) playbook.yml --tags install $(ANSIBLE_OPTS) $(ANSIBLE) playbook.yml --tags install $(ANSIBLE_OPTS)
+1 -1
View File
@@ -69,7 +69,7 @@ make install # → output/index.html откроется в браузере
| `make init` | Создать конфиги из `.example` и `.vault_pass` | | `make init` | Создать конфиги из `.example` и `.vault_pass` |
| `make check` | Проверить синтаксис playbook | | `make check` | Проверить синтаксис playbook |
| `make ping` | Проверить SSH к VPS | | `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 install` | Установка masquerade + экспорт URL/QR/HTML |
| `make update` | Обновить бинарник и конфиг; экспорт только для новых/изменённых пользователей | | `make update` | Обновить бинарник и конфиг; экспорт только для новых/изменённых пользователей |
| `make export` | Только экспорт (URL, QR, HTML) без изменений на сервере | | `make export` | Только экспорт (URL, QR, HTML) без изменений на сервере |