Dotfiles

Мой репозиторий конфигурационных файлов.

Установка

git clone <repository-url> ~/.dotfiles
cd ~/.dotfiles
mkdir -p ~/.ssh/sockets
stow -t ~ */

Resticprofile: Резервные копии

Конфигурация автоматического резервного копирования данных на Яндекс.Диск через rclone.

На уже настроенной машине

После синхронизации dotfiles резервные копии начнут создаваться автоматически по расписанию. Возможные команды:

Статус и информация:

resticprofile status                 # список всех профилей и их статуса
resticprofile profiles               # показать все доступные профили
resticprofile show [profile]         # подробно о профиле

Создание резервной копии вручную:

resticprofile backup                 # backup для всей группы 'all'
resticprofile -n dotfiles backup    # backup определённого профиля (напр. dotfiles)
resticprofile -n projects backup    # backup проектов

Просмотр снимков:

resticprofile snapshots              # список всех снимков
resticprofile -n dotfiles snapshots # снимки конкретного профиля

Очистка старых снимков:

resticprofile forget                 # удалить старые снимки согласно политике
resticprofile -n dotfiles forget    # очистить конкретный профиль

Восстановление данных:

resticprofile -n dotfiles restore latest /tmp/restore  # восстановить в /tmp/restore
resticprofile -n dotfiles restore <snapshot-id> /path  # конкретный снимок

Проверка целостности:

resticprofile -n dotfiles check     # проверить репозиторий

На новой машине

  1. Клонизация dotfiles:

    git clone <repository-url> ~/.dotfiles
    cd ~/.dotfiles
    mkdir -p ~/.ssh/sockets
    
  2. Развёртывание конфигов (stow):

    stow -t ~ */
    

    Это разместит конфиги из restic/.config/resticprofile/ в ~/.config/resticprofile/

  3. Установка rclone и resticprofile (если нет):

    # rclone (для работы с облаком)
    curl https://rclone.org/install.sh | sudo bash
    
    # resticprofile (управление бэкапами)
    # или через пакетный менеджер вашей системы
    
  4. Настройка rclone (нужно один раз):

    rclone config
    # Добавить remote 'yadisk' для Яндекс.Диска
    # Использовать OAuth или AppPassword для авторизации
    
  5. Установка пароля для репозитория restic: Убедитесь, что файл ~/.config/resticprofile/pass.txt содержит пароль для шифрования бэкапов (он же, что на основной машине).

  6. Проверка подключения к существующему репозиторию:

    resticprofile -n dotfiles snapshots  # проверить доступ к репозиторию
    

    Если вывод показывает список снимков — подключение работает.

  7. Восстановление данных из последних бэкапов:

    # Восстановить kritical данные (dotfiles, конфиги, SSH)
    resticprofile -n dotfiles restore latest /
    
    # Или выборочно в временную папку для проверки
    resticprofile -n dotfiles restore latest /tmp/restore
    
  8. Включение в systemd (опционально, для автозапуска):

    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 и т.д.)
S
Description
No description provided
Readme 275 KiB
Languages
Shell 94.2%
Lua 5.8%