Files
obsidian-vault/family/how-to/truenas-rclone-backup.md
T

82 lines
5.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# TrueNAS — rclone backup
## Контейнер
- Image: `rclone/rclone:latest`
- Имя: `rclone`
- Запуск: cron внутри контейнера (`crond -f`)
## Маппинги
| Host | Контейнер |
|------|-----------|
| `/mnt/RED_2TB/docker/rclone/config` | `/config/rclone` |
| `/mnt/RED_2TB` | `/data` |
## Расписание
```
0 3 * * 0 # каждое воскресенье в 03:00
```
Скрипт: `/config/rclone/backup.sh`
## Что бэкапится
| Метка | Источник (host) | Назначение | Шифрование |
|-------|-----------------|------------|------------|
| Photos | `/mnt/RED_2TB/Photos` | `mailru:Photos/Photos` | нет |
| old-bu | `/mnt/RED_2TB/old-bu` | `mailru:Photos/old-bu` | нет |
| immich | `/mnt/RED_2TB/immich-photos-upload` | `mailru:Photos/immich` | нет |
| docker | `/mnt/RED_2TB/docker` | `mailru-crypt:` | ✅ да |
| backup | `/mnt/RED_2TB/backup` | `mailru-crypt:` | ✅ да |
> 📌 **Следствие (2026-09-14): всё, положенное в `/mnt/RED_2TB/backup/*`, уезжает в Mail.ru автоматически** — правка `backup.sh` не нужна. Именно поэтому бэкап конфигов t610 кладётся в `/mnt/RED_2TB/backup/t610/` (датасет `nas:nas` 770, создан 2026-09-14) — см. [[family/plans/t610-backup-to-truenas]].
> 📌 Крон запускается **внутри контейнера rclone от root**, поэтому права `nas:nas 770` чтению не мешают.
## Remotes
- **mailru** — WebDAV, Mail.ru Cloud (`webdav.cloud.mail.ru`), user: `mallexxx@mail.ru`
- **mailru-crypt** — rclone crypt поверх `mailru:backup`, шифрование имён файлов и директорий (`standard`)
## Добавить что-то в бэкап
Шифрованное → положить в `/mnt/RED_2TB/backup/` или `/mnt/RED_2TB/docker/` — подхватится автоматически.
Нешифрованное → добавить `run_sync` строку в `/mnt/RED_2TB/docker/rclone/config/backup.sh`.
## Кандидаты на добавление — конфиги сервисов
| Источник | Куда класть | Статус |
|---|---|---|
| Конфиги **t610** (HA OS): `/config/{configuration,automations,scripts,scenes,secrets}.yaml`, `/config/.storage/`, `/config/go2rtc.yaml`, `zigbee2mqtt`, `/addons/{mbusd,modbus-bridge,ustreamer}`, `/addon_configs/{zigbee2mqtt,nodered}` | `/mnt/RED_2TB/backup/t610/` | ✅ **РАБОТАЕТ (2026-09-14)** — крон TrueNAS id=3, юзер `nas`, 03:30 ежедневно, ротация 14 архивов. Детали, питфоллы, команды — `[[family/plans/t610-backup-to-truenas]]` |
**Как работает (проверено 2026-09-14):** крон на TrueNAS от юзера **`nas`** → `ssh` на t610 (ключ `/mnt/RED_2TB/backup/t610/.ssh/id_ed25519`, ограничен `from="192.168.2.197"`) → `tar czf -` собирается НА t610 → архив `t610-config-<ts>.tar.gz` (~605 КБ, 111 файлов) в `/mnt/RED_2TB/backup/t610/` → датасет `backup` целиком уходит в `mailru-crypt:` по воскресеньям. **Лог:** `backup.log` в той же папке.
⚠️ **Важно про права (обновлено 2026-09-14):** запись в `/mnt/RED_2TB/backup/` требует root (было `root:root 775`), **но** целевой датасет `backup/t610``nas:nas 770`, поэтому сам бэкап пишется **без root**. `truenas_admin` добавлен в группу `nas`. Root нужен был только для `chown nas:nas /mnt/RED_2TB/backup/t610` (один раз). ⚠️ **Пароль `1316261` — НЕ от TrueNAS** (он от OpenWrt-роутера), root-операции — через System → Shell.
- **rclone remotes на Mac отсутствуют** (`rclone listremotes` пуст) — конфиг с `mailru-crypt` живёт **только на TrueNAS**. Бэкап проектировать на стороне NAS, не Mac.
- **Точки входа:** `ssh truenas_admin@mallexxx.duckdns.org` (внешний), `192.168.2.197` (LAN, только с t610).
## TODO — добавить в бэкап
Следующие папки из `/mnt/RED_2TB/storage/` не бэкапятся, но должны:
| Папка | Размер | Приоритет |
|-------|--------|-----------|
| `storage/git/` | 5.7M | 🔴 высокий — bare repo (obsidian-vault.git, hermes-taiga.git) |
| `storage/obsidian/` | 1M | 🔴 высокий — рабочая копия Тайги |
| `storage/art/` | 115M | 🟡 средний |
| `storage/Music/` | 45G | 🟡 средний |
| `storage/nas/` | <1M | 🟡 средний |
| `storage/shared/` | <1M | 🟡 средний |
| `storage/Edu/` | <1M | 🟡 средний |
Добавить в `/mnt/RED_2TB/docker/rclone/config/backup.sh` новые `run_sync` строки.
Шифровать через `mailru-crypt:` (как docker и backup).
## Файлы конфигурации
- `/mnt/RED_2TB/docker/rclone/config/rclone.conf` — remotes (root-only)
- `/mnt/RED_2TB/docker/rclone/config/crontab` — расписание
- `/mnt/RED_2TB/docker/rclone/config/backup.sh` — скрипт