backup: 2026-04-20 17:44

This commit is contained in:
Dmitry
2026-04-20 17:44:20 +03:00
parent 5a607c85f2
commit 3c680e6f68
13 changed files with 49 additions and 45 deletions
+35 -14
View File
@@ -2,6 +2,15 @@
Мой репозиторий конфигурационных файлов.
## Установка ssh-ключей через bitwarden-cli
```bash
bw config server https://pass.ada-dev.ru
bw login
bw get item <название ключа> | jq -r '.sshKey.privateKey' > ~/.ssh/id_ed25519
```
## Установка
```bash
@@ -20,6 +29,7 @@ stow -t ~ */
После синхронизации dotfiles резервные копии начнут создаваться автоматически по расписанию. Возможные команды:
**Статус и информация:**
```bash
resticprofile status # список всех профилей и их статуса
resticprofile profiles # показать все доступные профили
@@ -27,6 +37,7 @@ resticprofile show [profile] # подробно о профиле
```
**Создание резервной копии вручную:**
```bash
resticprofile backup # backup для всей группы 'all'
resticprofile -n dotfiles backup # backup определённого профиля (напр. dotfiles)
@@ -34,24 +45,28 @@ resticprofile -n projects backup # backup проектов
```
**Просмотр снимков:**
```bash
resticprofile snapshots # список всех снимков
resticprofile -n dotfiles snapshots # снимки конкретного профиля
```
**Очистка старых снимков:**
```bash
resticprofile forget # удалить старые снимки согласно политике
resticprofile -n dotfiles forget # очистить конкретный профиль
```
**Восстановление данных:**
```bash
resticprofile -n dotfiles restore latest /tmp/restore # восстановить в /tmp/restore
resticprofile -n dotfiles restore <snapshot-id> /path # конкретный снимок
```
**Проверка целостности:**
```bash
resticprofile -n dotfiles check # проверить репозиторий
```
@@ -59,19 +74,21 @@ resticprofile -n dotfiles check # проверить репозиторий
### На новой машине
1. **Клонизация dotfiles:**
```bash
git clone <repository-url> ~/.dotfiles
cd ~/.dotfiles
mkdir -p ~/.ssh/sockets
```
2. **Развёртывание конфигов (stow):**
```bash
stow -t ~ */
```
Это разместит конфиги из `restic/.config/resticprofile/` в `~/.config/resticprofile/`
Это разместит конфиги из `restic/.config/resticprofile/` в `~/.config/resticprofile/`
3. **Установка rclone и resticprofile** (если нет):
```bash
# rclone (для работы с облаком)
curl https://rclone.org/install.sh | sudo bash
@@ -79,24 +96,27 @@ resticprofile -n dotfiles check # проверить репозиторий
# resticprofile (управление бэкапами)
# или через пакетный менеджер вашей системы
```
t
4. **Настройка rclone** (нужно один раз):
```bash
```bash
rclone config
# Добавить remote 'yadisk' для Яндекс.Диска
# Использовать OAuth или AppPassword для авторизации
```
```
5. **Установка пароля для репозитория restic:**
Убедитесь, что файл `~/.config/resticprofile/pass.txt` содержит пароль для шифрования бэкапов (он же, что на основной машине).
6. **Проверка подключения к существующему репозиторию:**
```bash
resticprofile -n dotfiles snapshots # проверить доступ к репозиторию
```
Если вывод показывает список снимков — подключение работает.
Если вывод показывает список снимков — подключение работает.
7. **Восстановление данных из последних бэкапов:**
```bash
# Восстановить kritical данные (dotfiles, конфиги, SSH)
resticprofile -n dotfiles restore latest /
@@ -104,8 +124,8 @@ t
# Или выборочно в временную папку для проверки
resticprofile -n dotfiles restore latest /tmp/restore
```
8. **Включение в systemd** (опционально, для автозапуска):
```bash
resticprofile install
resticprofile schedule
@@ -113,15 +133,16 @@ t
### Структура профилей
| Профиль | Источник | Частота | Назначение |
|---------|----------|---------|-----------|
| **dotfiles** | ~/.dotfiles, ~/.config, ~/.ssh | Каждые 6 часов | Критичные конфигурационные файлы |
| **projects** | ~/Documents/Projects | Каждый час | Код и проекты (меняются часто) |
| **vaults** | ~/Documents/Vaults | Каждый час | Важные данные и пароли |
| **files** | ~/Documents/Files | Ежедневно в 02:15 | Документы |
| **pictures** | ~/Pictures, ~/Videos | По групповому расписанию | Фотографии и видео |
| Профиль | Источник | Частота | Назначение |
| ------------------ | ------------------------------ | ---------------------------------------------- | -------------------------------------------------------------- |
| **dotfiles** | ~/.dotfiles, ~/.config, ~/.ssh | Каждые 6 часов | Критичные конфигурационные файлы |
| **projects** | ~/Documents/Projects | Каждый час | Код и проекты (меняются часто) |
| **vaults** | ~/Documents/Vaults | Каждый час | Важные данные и пароли |
| **files** | ~/Documents/Files | Ежедневно в 02:15 | Документы |
| **pictures** | ~/Pictures, ~/Videos | По групповому расписанию | Фотографии и видео |
**Политика хранения:**
- Последние 10 снимков (общая)
- Ежедневные (7 дней)
- Еженедельные (4 недели)