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
+27 -6
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,8 +96,10 @@ resticprofile -n dotfiles check # проверить репозиторий
# resticprofile (управление бэкапами)
# или через пакетный менеджер вашей системы
```
t
4. **Настройка rclone** (нужно один раз):
```bash
rclone config
# Добавить remote 'yadisk' для Яндекс.Диска
@@ -89,14 +108,15 @@ t
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
@@ -114,7 +134,7 @@ t
### Структура профилей
| Профиль | Источник | Частота | Назначение |
|---------|----------|---------|-----------|
| ------------------ | ------------------------------ | ---------------------------------------------- | -------------------------------------------------------------- |
| **dotfiles** | ~/.dotfiles, ~/.config, ~/.ssh | Каждые 6 часов | Критичные конфигурационные файлы |
| **projects** | ~/Documents/Projects | Каждый час | Код и проекты (меняются часто) |
| **vaults** | ~/Documents/Vaults | Каждый час | Важные данные и пароли |
@@ -122,6 +142,7 @@ t
| **pictures** | ~/Pictures, ~/Videos | По групповому расписанию | Фотографии и видео |
**Политика хранения:**
- Последние 10 снимков (общая)
- Ежедневные (7 дней)
- Еженедельные (4 недели)
+1 -1
View File
@@ -205,7 +205,7 @@
[credential]
# Кэшировать пароли на 1 час
helper = "!f() { /home/ada/.vscode-server/bin/e7fb5e96c0730b9deb70b33781f98e2f35975036/node /tmp/vscode-remote-containers-c2ca9419-d1b5-464d-a579-9a0e513fd732.js git-credential-helper $*; }; f"
helper = "!f() { /home/ada/.vscode-server/bin/560a9dba96f961efea7b1612916f89e5d5d4d679/node /tmp/vscode-remote-containers-b98ef833-2311-4179-921f-998f5b0fa50b.js git-credential-helper $*; }; f"
# ═══ URL shortcuts ══════════════════════════════════════════
+1 -1
View File
@@ -12,7 +12,7 @@ Host *
# Использовать только явно заданные ключи
IdentitiesOnly yes
IdentityAgent ~/.bitwarden-ssh-agent.sock
# IdentityAgent ~/.bitwarden-ssh-agent.sock
# Таймауты подключения
ConnectTimeout 10
+1 -6
View File
@@ -1,9 +1,4 @@
Host ada-pc
HostName 192.168.1.100
User ada
IdentityFile ~/.ssh/keys/ada-pc.pub
Host ada-x1
HostName 192.168.1.101
User ada
IdentityFile ~/.ssh/keys/adax1.pub
IdentityFile ~/.ssh/keys/id_ed25519
+9 -6
View File
@@ -3,27 +3,28 @@ Host vps vps-ada
HostName 157.22.231.198
Port 3422
User ada
IdentityFile /home/ada/.ssh/keys/homelab_ssh.pub
IdentityFile /home/ada/.ssh/id_ed25519_hl
ServerAliveInterval 30
ServerAliveCountMax 3
# ZimaOS
Host docker-host
HostName 100.70.131.10
User ada
IdentityFile ~/.ssh/keys/homelab_ssh.pub
IdentityFile ~/.ssh/keys/id_ed25519_hl
SetEnv TERM=xterm-256color
ProxyJump vps
Host pve
HostName 100.68.130.76
User root
IdentityFile ~/.ssh/keys/homelab_ssh.pub
IdentityFile ~/.ssh/id_ed25519_hl
SetEnv TERM=xterm-256color
# ProxyJump vps
Host openclaw
Hostname 192.168.1.20
User openclaw
IdentityFile ~/.ssh/keys/adax1.pub
IdentityFile ~/.ssh/id_ed25519
SetEnv TERM=xterm-256color
ProxyJump pve
@@ -31,5 +32,7 @@ Host git.ada-dev.ru
HostName 100.70.131.10
Port 2222
User git
IdentityFile /home/ada/.ssh/keys/adax1.pub
IdentityFile /home/ada/.ssh/id_ed25519_hl
ServerAliveInterval 30
ServerAliveCountMax 3
ProxyJump vps
+1 -10
View File
@@ -5,13 +5,4 @@ Host ru-vps
Port 3422
ServerAliveInterval 30
ServerAliveCountMax 3
IdentityFile /home/ada/.ssh/id_ed25519_homelab
Host fl-vps
HostName 89.167.32.245
Port 4322
User ada
IdentityFile /home/ada/.ssh/id_ed25519_flvpn
ProxyJump ru-vps
ServerAliveInterval 30
ServerAliveCountMax 3
IdentityFile /home/ada/.ssh/id_ed25519_hl
-1
View File
@@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH50axSCXZiDkpnbggASg1P+EfAKhdExahLOXKe0VxqS ada-pc
-1
View File
@@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIWNsUQmppB6cQccXX1ZaBbFIcmM6RmghsTVbG9TgoZB adax1
-1
View File
@@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMwZ10/S25oSZsJNdWWMwfelPDM4VcZMGHQ9PDxW1A1G autossh-proxy
-1
View File
@@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIApx18Rmr32XqE+XnHl+sJkZGFWvyQ+uMGfOic2TdYju fl-vpn
-1
View File
@@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICmj/O+dwIiuFW0VVYnbX/PUComP1h5VrCBoMTIP3j0Z homelab_ssh
-1
View File
@@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJoW3axMmMF1+sffBSKK/K388I1TdLqXcJbXlJd6/BI1 key_vps
+1 -1
View File
@@ -59,7 +59,7 @@ alias localip="ip -4 addr show | grep -oP '(?<=inet\s)\d+(\.\d+){3}' | grep -v 1
# Proxy
# Включение прокси (HTTP, HTTPS и SOCKS5h для DNS через прокси)
alias proxy-on='export http_proxy="http://127.0.0.1:2080" https_proxy="http://127.0.0.1:2080" ALL_PROXY="socks5://127.0.0.1:2080" all_proxy="socks5://127.0.0.1:2080" && echo "󰖟 Proxy enabled (127.0.0.1:2080)"'
alias proxy-on='export http_proxy="http://127.0.0.1:7897" https_proxy="http://127.0.0.1:7897" ALL_PROXY="socks5://127.0.0.1:7897" all_proxy="socks5://127.0.0.1:7897" && echo "󰖟 Proxy enabled (127.0.0.1:7897)"'
# Полное отключение всех переменных прокси
alias proxy-off='unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY all_proxy ALL_PROXY && echo "󰖪 Proxy disabled"'