# Dotfiles Мой репозиторий конфигурационных файлов. ## Установка ```bash git clone ~/.dotfiles cd ~/.dotfiles mkdir -p ~/.ssh/sockets stow -t ~ */ ``` ## Resticprofile: Резервные копии Конфигурация автоматического резервного копирования данных на Яндекс.Диск через rclone. ### На уже настроенной машине После синхронизации dotfiles резервные копии начнут создаваться автоматически по расписанию. Возможные команды: **Статус и информация:** ```bash resticprofile status # список всех профилей и их статуса resticprofile profiles # показать все доступные профили resticprofile show [profile] # подробно о профиле ``` **Создание резервной копии вручную:** ```bash resticprofile backup # backup для всей группы 'all' resticprofile -n dotfiles backup # backup определённого профиля (напр. dotfiles) 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 /path # конкретный снимок ``` **Проверка целостности:** ```bash resticprofile -n dotfiles check # проверить репозиторий ``` ### На новой машине 1. **Клонизация dotfiles:** ```bash git clone ~/.dotfiles cd ~/.dotfiles mkdir -p ~/.ssh/sockets ``` 2. **Развёртывание конфигов (stow):** ```bash stow -t ~ */ ``` Это разместит конфиги из `restic/.config/resticprofile/` в `~/.config/resticprofile/` 3. **Установка rclone и resticprofile** (если нет): ```bash # rclone (для работы с облаком) curl https://rclone.org/install.sh | sudo bash # resticprofile (управление бэкапами) # или через пакетный менеджер вашей системы ``` 4. **Настройка rclone** (нужно один раз): ```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 / # Или выборочно в временную папку для проверки resticprofile -n dotfiles restore latest /tmp/restore ``` 8. **Включение в systemd** (опционально, для автозапуска): ```bash resticprofile install resticprofile schedule ``` ### Структура профилей | Профиль | Источник | Частота | Назначение | |---------|----------|---------|-----------| | **dotfiles** | ~/.dotfiles, ~/.config, ~/.ssh | Каждые 6 часов | Критичные конфигурационные файлы | | **projects** | ~/Documents/Projects | Каждый час | Код и проекты (меняются часто) | | **vaults** | ~/Documents/Vaults | Каждый час | Важные данные и пароли | | **files** | ~/Documents/Files | Ежедневно в 02:15 | Документы | | **pictures** | ~/Pictures, ~/Videos | По групповому расписанию | Фотографии и видео | **Политика хранения:** - Последние 10 снимков (общая) - Ежедневные (7 дней) - Еженедельные (4 недели) - Ежемесячные (6 месяцев) - Профиль `dotfiles`: более агрессивная политика (28 часов, 30 дней, 12 месяцев) ### Полезные параметры конфига - `check-before: false` — не проверять целостность перед бэкапом (для скорости) - `use-fs-snapshot: false` — не использовать снимки файловой системы - `.resticignore` — исключает тяжёлые зависимости (node_modules, venv, target и т.д.)