Бэкап: убрать старые backup.sh/restore.sh, документация
deploy/backup/README.md — подробная пошаговая инструкция по всему, что делается вручную: пароль шифрования, SSH-ключ, VPS (пользователь fsbackup только для SFTP, проверки sshd), сборка образов, включение на Pi (с разбором каждой переменной и контрольными проверками), доступ с ПК и выгрузка, учебное восстановление на тест-клоне, восстановление прода и из архива, катастрофа «Pi умер», повседневные действия, таблица неполадок, справочник, чек-лист. Команды разделов VPS и Pi прогнаны на локальном стенде. deploy/pi, deploy/vps §8, deploy/README — ссылки на новую схему. Удалены scripts/backup.sh и scripts/restore.sh (restore.sh ещё и оставлял БД root-овой: docker cp пишет файлы с uid 0); их архивы fs_*.tar.gz восстанавливаются через fs-backup import. #64 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013jBxs9nBCk5nBdTLzcGz91
This commit is contained in:
+12
-13
@@ -110,16 +110,15 @@ systemctl reload caddy
|
||||
Логи Caddy: `journalctl -u caddy -f`.
|
||||
|
||||
## 8. Приём бэкапов с Pi (оффсайт-копии)
|
||||
Pi ежедневно шлёт полный архив (`scripts/backup.sh`) на VPS отдельным пользователем `backup`
|
||||
(не путать с `tunnel`). Каталог — **вне** веб-корней Caddy, права 700.
|
||||
```bash
|
||||
useradd -m -s /bin/bash backup
|
||||
install -d -m 700 -o backup -g backup /home/backup/.ssh
|
||||
install -m 600 -o backup -g backup /dev/null /home/backup/.ssh/authorized_keys
|
||||
install -d -m 700 -o backup -g backup /srv/fs-backups
|
||||
# Публичный ключ бэкапа с Pi (deploy/backup/id_backup.pub) добавь в authorized_keys:
|
||||
# echo '<содержимое id_backup.pub>' >> /home/backup/.ssh/authorized_keys
|
||||
```
|
||||
> Ротацию на VPS делает сам скрипт с Pi (`BACKUP_KEEP_REMOTE`, по умолч. 30). Каталог
|
||||
> `/srv/fs-backups` не отдаётся Caddy (нет `root`/`file_server` на него) → бэкапы не публичны.
|
||||
> Проверка приёма: после `scripts/backup.sh` на Pi → `ls -1 /srv/fs-backups/` на VPS.
|
||||
Контейнер `backup` на Pi каждую ночь отправляет зашифрованный снимок (restic) на VPS по SFTP.
|
||||
Для этого на VPS нужен отдельный пользователь `fsbackup` **только для SFTP**: без shell,
|
||||
без туннелей, без пароля. Репозиторий лежит в `/srv/fs-backups/restic`, вне веб-корней
|
||||
Caddy, так что бэкапы не публичны.
|
||||
|
||||
> Имя не `backup`: в Debian/Ubuntu системный пользователь `backup` уже существует.
|
||||
|
||||
Пошаговая настройка: создание пользователя, ключ, `sshd_config.d/60-fs-backup.conf`,
|
||||
проверки — [`deploy/backup/README.md`, шаг 3](../backup/README.md#шаг-3-vps-пользователь-только-для-sftp).
|
||||
|
||||
Проверка приёма после первого бэкапа: `ls -la /srv/fs-backups/restic` (там `config`, `data`,
|
||||
`index`, `keys`, `snapshots`). Старые снимки удаляет сам контейнер с Pi по политике хранения.
|
||||
|
||||
Reference in New Issue
Block a user