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 | старый, отключён (дублировал и держал ингибитор постоянно) |
|
||||
|
||||
### Логика guard
|
||||
|
||||
**Всегда (вне зависимости от времени):**
|
||||
- Активная SSH сессия → держит inhibitor (HTPC не спит)
|
||||
- Файл `/tmp/rsync-active` существует → держит inhibitor (rsync, бэкап и т.п.)
|
||||
|
||||
**Дневное окно (11:00–23:00):**
|
||||
- Торренты активны → держит systemd inhibitor (HTPC не спит)
|
||||
- Торренты не активны → inhibitor не держится, machine idle
|
||||
@@ -147,6 +151,26 @@ Sleep управляется `htpc-sleep-guard` — Python-скрипт + system
|
||||
- **409 retry**: при HTTP 409 от Transmission обновляет `X-Transmission-Session-Id` и повторяет запрос
|
||||
- **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
|
||||
|
||||
@@ -44,6 +44,11 @@ print('Magic packet sent')
|
||||
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 (пока он живой):
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user