Merge remote-tracking branch 'origin/main'
This commit is contained in:
commit
80c062f3fb
1 file changed
+67
-11
@@ -1,11 +1,39 @@
|
||||
# План: авто-удаление просмотренного (watchlist cleanup)
|
||||
|
||||
**Дата:** 2026-09-20
|
||||
**Статус:** ✅ РЕАЛИЗОВАНО (коммит `aafbaf7`), ждёт настройки корзины
|
||||
**Дата:** 2026-09-20 (обновлено 2026-09-21)
|
||||
**Статус:** ✅ РЕАЛИЗОВАНО И В КРОНЕ. Корзина закрыта (без неё). Ждёт `[x]` на Radarr-фильмах
|
||||
**Связано:** [[watchlist-automation]], [[arr-stack-kraken]]
|
||||
|
||||
---
|
||||
|
||||
## 🟢 ИТОГ 2026-09-21: в кроне, корзины нет
|
||||
|
||||
**Решение по корзине (принято агентом, Alex больше не спрашиваем):** `recycleBin` НЕ настраиваем.
|
||||
Причина: внутри контейнера Radarr медиа замаплено иначе, чем на хосте → путь корзины
|
||||
невалиден, а «файл уехал туда, где его не видит Jellyfin» — хуже, чем прямое удаление.
|
||||
Удаление и так штатное, через Radarr API (не `rm`).
|
||||
|
||||
**Установлено:**
|
||||
|
||||
| Что | Значение |
|
||||
|-----|----------|
|
||||
| Обёртка | `/home/kraken/scripts/watchlist-cleanup.sh` (root:root 755, `sudo install`) |
|
||||
| Cron | `0 2 * * * bash /home/kraken/scripts/watchlist-cleanup.sh --apply` |
|
||||
| Лог | `/home/kraken/logs/watchlist-cleanup.log` (+ `/home/kraken/logs/watchlist-cleanup-cron.log`) |
|
||||
| Бэкап crontab | `/home/kraken/crontab-backup-20260921.txt` |
|
||||
|
||||
⚠️ **Два дефекта, найденных и починенных при установке:**
|
||||
1. Обёртка лежала в `/tmp/` — systemd-tmpfiles её бы вычистил, cleanup умер бы молча.
|
||||
2. Обёртка вызывала `cleanup` **без `--apply`** → в кроне это был бы вечный dry-run.
|
||||
Никто бы не заметил: лог писал «nothing to delete», диск бы просто заполнился.
|
||||
|
||||
⚠️ **`~/scripts/` на kraken — root:root 755**, писать нельзя. Только `sudo install -m 755`.
|
||||
У kraken `sudo` без пароля (`sudo -n true` → ok), так что установка проходит без Alex.
|
||||
|
||||
**Корзина — закрыто. Не переспрашивать.**
|
||||
|
||||
---
|
||||
|
||||
## Что сказал Alex (дословно)
|
||||
|
||||
> «Да, давай удалять то на чем стоит чекбокс при заполнении более 90%»
|
||||
@@ -105,7 +133,38 @@ return used / total * 100.0
|
||||
```
|
||||
С веткой `--apply` при пороге 80: после прогона **18 файлов / 702 ГБ не тронуты** — удалять было нечего.
|
||||
|
||||
## 🟡 ЗАСТРЯЛО: корзина Radarr (`recycleBin`)
|
||||
## 🔴 ЗАМЕР 2026-09-21: порог ПРОЙДЕН, а удалять нечего
|
||||
|
||||
```
|
||||
disk .../media: 94.7% used (threshold 90%) ← порог сработал
|
||||
watchlist [x] items: 177
|
||||
radarr movies with file: 28
|
||||
no watched movie currently occupies disk -> nothing to delete
|
||||
df -h: 1.8T / 1.7T used / 4.8G free / 100% ← свободно 4.8 ГБ
|
||||
```
|
||||
|
||||
**Диск критичен.** За сутки ушло с 83.7% → 94.7% (28 фильмов с файлами против 18).
|
||||
Порог работает, **но пересечение `[x]` ∩ Radarr = 0**: ни один просмотренный фильм
|
||||
не лежит в Radarr-библиотеке. Механизм исправен и не освободит ни байта, пока в watchlist
|
||||
не появятся `[x]` на том, что реально занимает место.
|
||||
|
||||
**Топ по объёму (кандидаты, когда поставится `[x]`):**
|
||||
|
||||
| Фильм | Размер |
|
||||
|-------|--------|
|
||||
| Babylon | 98.8 ГБ |
|
||||
| Schindler's List | 95.9 ГБ |
|
||||
| Midsommar | 91.9 ГБ |
|
||||
| Triangle of Sadness | 85.6 ГБ |
|
||||
|
||||
Отметить 2 из них → освободит ~190 ГБ, 4 → ~370 ГБ.
|
||||
|
||||
**Корень проблемы (шире cleanup):** до 2026-09-20 Jellyfin считал просмотренными всего 6
|
||||
фильмов, все — старые из `/media/movies`, ни одного из `/media/movies-radarr`.
|
||||
`[x]` не проставляется на новые закачки → cleanup удалять нечего.
|
||||
Разбираться отдельно — это НЕ задача cleanup.
|
||||
|
||||
## 🟡 ЗАСТРЯЛО (история): корзина Radarr (`recycleBin`)
|
||||
|
||||
**Статус:** директория создана, Radarr её не принимает.
|
||||
|
||||
@@ -131,15 +190,12 @@ docker exec radarr ls -la /media
|
||||
|
||||
**Альтернатива:** не настраивать корзину вовсе — тогда DELETE необратим. Решение за Alex.
|
||||
|
||||
### 🟡 Обёртка не установлена в `~/scripts/`
|
||||
## 🟡 Обёртка — РЕШЕНО 2026-09-21
|
||||
|
||||
`~/scripts/` принадлежит **root:root с правами 755** → писать нельзя.
|
||||
```
|
||||
drwxr-xr-x 2 root root ~/scripts
|
||||
-rwxr-xr-x 1 root root ~/scripts/watchlist-nightly.sh
|
||||
```
|
||||
Скрипт протестирован из `/tmp/wl-cleanup-test.sh` — работает, логирует, при 83.7% выходит молча.
|
||||
Установка в `~/scripts/` требует `sudo install -m 755`. Обёртка: `watchlist-cleanup.sh` (принимает `--apply`).
|
||||
~~`~/scripts/` принадлежит root:root 755 → писать нельзя.~~
|
||||
Установлено через `sudo install -m 755 -o root -g root /tmp/wl-cleanup-final.sh /home/kraken/scripts/watchlist-cleanup.sh`.
|
||||
У kraken `sudo -n true` → **без пароля**, установка без участия Alex.
|
||||
Лог переехал из `/tmp/watchlist-cleanup.log` в `/home/kraken/logs/watchlist-cleanup.log`.
|
||||
|
||||
## Секция `## Правила отбора` — что проверено фактами
|
||||
|
||||
|
||||
Reference in new issue
Block a user