Merge remote-tracking branch 'origin/main'
This commit is contained in:
@@ -124,11 +124,15 @@ Sleep управляется `htpc-sleep-guard` — Python-скрипт + system
|
|||||||
|
|
||||||
| Сервис | Статус | Роль |
|
| Сервис | Статус | Роль |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| `htpc-sleep-guard` | **active/enabled** | актуальный guard |
|
| `htpc-sleep-guard` | **active/enabled** | актуальный guard (SSH + торренты + rsync-файл) |
|
||||||
| `transmission-sleep-guard` | disabled | старый, отключён (дублировал и держал ингибитор постоянно) |
|
| `transmission-sleep-guard` | disabled | старый, отключён (дублировал и держал ингибитор постоянно) |
|
||||||
|
|
||||||
### Логика guard
|
### Логика guard
|
||||||
|
|
||||||
|
**Всегда (вне зависимости от времени):**
|
||||||
|
- Активная SSH сессия → держит inhibitor (HTPC не спит)
|
||||||
|
- Файл `/tmp/rsync-active` существует → держит inhibitor (rsync, бэкап и т.п.)
|
||||||
|
|
||||||
**Дневное окно (11:00–23:00):**
|
**Дневное окно (11:00–23:00):**
|
||||||
- Торренты активны → держит systemd inhibitor (HTPC не спит)
|
- Торренты активны → держит systemd inhibitor (HTPC не спит)
|
||||||
- Торренты не активны → inhibitor не держится, machine idle
|
- Торренты не активны → inhibitor не держится, machine idle
|
||||||
@@ -147,6 +151,26 @@ Sleep управляется `htpc-sleep-guard` — Python-скрипт + system
|
|||||||
- **409 retry**: при HTTP 409 от Transmission обновляет `X-Transmission-Session-Id` и повторяет запрос
|
- **409 retry**: при HTTP 409 от Transmission обновляет `X-Transmission-Session-Id` и повторяет запрос
|
||||||
- **suspend trigger**: при переходе из "hold → release" вызывает `systemctl suspend` (без sudo, через polkit/logind)
|
- **suspend trigger**: при переходе из "hold → release" вызывает `systemctl suspend` (без sudo, через polkit/logind)
|
||||||
|
|
||||||
|
Патч 2026-05-30 (rsync-active триггер):
|
||||||
|
- Добавлена функция `rsync_active()` — проверяет существование файла `/tmp/rsync-active`
|
||||||
|
- Guard держит inhibit пока файл существует (вне зависимости от времени)
|
||||||
|
- Исправлена обработка ошибок: `torrents_active()` и `ssh_active()` обёрнуты в отдельные `try/except`
|
||||||
|
- Использование: `touch /tmp/rsync-active` (включить), `rm /tmp/rsync-active` (выключить)
|
||||||
|
|
||||||
|
### rsync-active триггер
|
||||||
|
|
||||||
|
Любой процесс может держать HTPC в бодрствующем состоянии, создав файл `/tmp/rsync-active`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Запретить сон (например, перед долгим rsync/bkp)
|
||||||
|
touch /tmp/rsync-active
|
||||||
|
|
||||||
|
# Разрешить сон (после завершения)
|
||||||
|
rm /tmp/rsync-active
|
||||||
|
```
|
||||||
|
|
||||||
|
Guard проверяет файл каждые 60 секунд. Сервис: `systemctl --user status htpc-sleep-guard`.
|
||||||
|
|
||||||
### Разбудить/усыпить вручную
|
### Разбудить/усыпить вручную
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|||||||
@@ -44,6 +44,11 @@ print('Magic packet sent')
|
|||||||
ping -c 5 192.168.1.86
|
ping -c 5 192.168.1.86
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Sleep management
|
||||||
|
HTPC использует `htpc-sleep-guard` — см. [[htpc-system#Автосон / Sleep management]].
|
||||||
|
Чтобы не дать HTPC уснуть во время долгой операции: `touch /tmp/rsync-active` на HTPC.
|
||||||
|
По окончании: `rm /tmp/rsync-active`.
|
||||||
|
|
||||||
### Если не просыпается
|
### Если не просыпается
|
||||||
WoL должен быть включён в BIOS/UEFI. Проверить настройки на HTPC (пока он живой):
|
WoL должен быть включён в BIOS/UEFI. Проверить настройки на HTPC (пока он живой):
|
||||||
```bash
|
```bash
|
||||||
|
|||||||
Reference in New Issue
Block a user