# Discourse-health-check: однократный CLI-обзор вашего сервера Discourse

**URL:** https://meta.discourse.org/t/discourse-health-check-one-shot-cli-overview-of-your-discourse-server/404458
**Category:** Extras
**Tags:** performance, server-resources, hosting
**Created:** [03.Июнь.2026 18:57:33 UTC](https://meta.discourse.org/t/discourse-health-check-one-shot-cli-overview-of-your-discourse-server/404458 "2026-06-03T18:57:33Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![haydenjames](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/haydenjames/32/255678_2.png) [@haydenjames](https://meta.discourse.org/u/haydenjames)
#### Post date: [03.Июнь.2026 18:57:33 UTC](https://meta.discourse.org/t/discourse-health-check-one-shot-cli-overview-of-your-discourse-server/404458/1 "2026-06-03T18:57:33Z")

</div>

Небольшой bash-скрипт, который я создал для своего форума и который предоставляет быстрый обзор состояния сервера Discourse. Делюсь им с теми, кому такая краткая сводка может быть полезна.

**Проверяет системные ресурсы:** Docker, сервисы Discourse (Postgres, Redis, Nginx, Unicorn, Sidekiq), актуальность резервных копий, TLS и базовые параметры безопасности. В конце выводится итоговый статус (пройдено / предупреждение / критическая ошибка) и код выхода, подходящий для использования в cron.

 ![image](https://global.discourse-cdn.com/meta/original/4X/2/f/8/2f80a794bfea5feb62e1dfb7c143717a971e28b6.png)

**Установка**

```plaintext
curl -O https://raw.githubusercontent.com/haydenjames/discourse-health-check/main/discourse-health-check.sh
chmod +x discourse-health-check.sh
sudo ./discourse-health-check.sh

```

Исходный код, параметры и пример настройки cron в файле README:

> **[GitHub - haydenjames/discourse-health-check: One-shot health overview for a Discourse forum...](https://github.com/haydenjames/discourse-health-check)**
>
> One-shot health overview for a Discourse forum server: system resources, Docker, all Discourse services, backups, TLS, and security — with a color-coded pass/warning/critical scorecard.

* * *

## **[Новая версия v1.0.4](https://github.com/haydenjames/discourse-health-check/)**:

Два исправления:

1. В Discourse Unicorn был заменён на Pitchfork (по умолчанию в версии 2026.2, полностью удалён в 2026.4), поэтому проверка веб-сервера теперь обнаруживает оба варианта. Спасибо @RGJ за то, что обратил на это внимание ещё в июне.

2. Проверки сервисов сопоставляли свои собственные командные строки. `pgrep -f <name>`, из-за чего pgrep находил сам себя, и проверка считалась пройденной независимо от того, запущен ли сервис на самом деле. **Sidekiq отчётовал о состоянии «работает» безоговорочно с версии 1.0.0**. Он мог быть остановлен, а вы всё равно получали зелёную отметку и код выхода 0 от cron. Та же причина, что и ложное срабатывание для Puma в версии 1.0.1, которое оказалось не исправлением, а переименованием.

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [03.Июнь.2026 19:21:41 UTC](https://meta.discourse.org/t/discourse-health-check-one-shot-cli-overview-of-your-discourse-server/404458/2 "2026-06-03T19:21:41Z")

</div>

> [@haydenjames](#):
>
> Puma

Discourse не использует Puma.

---

<div class="post-metadata">

### Author: ![haydenjames](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/haydenjames/32/255678_2.png) [@haydenjames](https://meta.discourse.org/u/haydenjames)
#### Post date: [03.Июнь.2026 19:48:55 UTC](https://meta.discourse.org/t/discourse-health-check-one-shot-cli-overview-of-your-discourse-server/404458/3 "2026-06-03T19:48:55Z")

</div>

Единорог. Исправлено, спасибо.

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [03.Июнь.2026 21:18:05 UTC](https://meta.discourse.org/t/discourse-health-check-one-shot-cli-overview-of-your-discourse-server/404458/4 "2026-06-03T21:18:05Z")

</div>

> [@haydenjames](#):
>
> Единорог

Сейчас только «Пичфорк»!!

---

<div class="post-metadata">

### Author: ![Ed\_S](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ed_s/32/134015_2.png) [@Ed\_S](https://meta.discourse.org/u/Ed_S)
#### Post date: [04.Июнь.2026 05:36:30 UTC](https://meta.discourse.org/t/discourse-health-check-one-shot-cli-overview-of-your-discourse-server/404458/5 "2026-06-04T05:36:30Z")

</div>

Отличное предложение, спасибо!

Для резервного копирования рекомендую проверить последнюю резервную копию, чтобы убедиться, что она была прочитана после создания. Это косвенный способ проверить, была ли она скопирована за пределы сайта. (Или, если не проверять только последнюю, возможно, стоит проверить все.)

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

(Думаю, можно вычесть `stat -c %Y` из `stat -c %X` или просто сравнить их. Они будут отличаться, если файл резервной копии был прочитан после создания.)

---

<div class="post-metadata">

### Author: ![haydenjames](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/haydenjames/32/255678_2.png) [@haydenjames](https://meta.discourse.org/u/haydenjames)
#### Post date: [04.Июнь.2026 13:42:44 UTC](https://meta.discourse.org/t/discourse-health-check-one-shot-cli-overview-of-your-discourse-server/404458/6 "2026-06-04T13:42:44Z")

</div>

@Ed_S Отличное предложение. Добавлено в версии 1.0.2. Сравнивает atime и mtime в последней резервной копии и выводит предупреждение, если файл не читался с момента записи, при этом проверка noatime позволяет корректно пропускать случаи, когда atime ненадёжен. Указал вас как автора, спасибо!
