backup: 2026-04-20 17:44
This commit is contained in:
@@ -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
|
||||
@@ -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
@@ -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 ══════════════════════════════════════════
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ Host *
|
||||
# Использовать только явно заданные ключи
|
||||
IdentitiesOnly yes
|
||||
|
||||
IdentityAgent ~/.bitwarden-ssh-agent.sock
|
||||
# IdentityAgent ~/.bitwarden-ssh-agent.sock
|
||||
|
||||
# Таймауты подключения
|
||||
ConnectTimeout 10
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 +0,0 @@
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH50axSCXZiDkpnbggASg1P+EfAKhdExahLOXKe0VxqS ada-pc
|
||||
@@ -1 +0,0 @@
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIWNsUQmppB6cQccXX1ZaBbFIcmM6RmghsTVbG9TgoZB adax1
|
||||
@@ -1 +0,0 @@
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMwZ10/S25oSZsJNdWWMwfelPDM4VcZMGHQ9PDxW1A1G autossh-proxy
|
||||
@@ -1 +0,0 @@
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIApx18Rmr32XqE+XnHl+sJkZGFWvyQ+uMGfOic2TdYju fl-vpn
|
||||
@@ -1 +0,0 @@
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICmj/O+dwIiuFW0VVYnbX/PUComP1h5VrCBoMTIP3j0Z homelab_ssh
|
||||
@@ -1 +0,0 @@
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJoW3axMmMF1+sffBSKK/K388I1TdLqXcJbXlJd6/BI1 key_vps
|
||||
@@ -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"'
|
||||
|
||||
Reference in New Issue
Block a user