infra/archive/@kt-pc.sync/CLAUDE.md

@kt-pc.sync — Синхронизация сервера на ПК kt

Тип: INFRA (sync)
Статус: active
Версия: 1.0


ЧТО ДЕЛАЕТ

Держит локальную копию сервера на ПК kt.
Данные доступны всегда — даже без интернета.

Сервер (91.218.142.168)          ПК kt ~/server/
──────────────────────────────────────────────────
/opt/claude-workspace     →→→    workspace/
/var/www/html/files/      →→→    files/
/mnt/beget-s3/            →→→    dataspace/
/mnt/beget-infra/         →→→    infra/

Направление: только сервер → ПК (read-only копия).


ЗАЩИТА ПАПОК

Папки защищены от случайного удаления через chattr +i:

~/server/          chattr +i (нельзя удалить контейнер, нельзя rm -rf ~/server/)
├── workspace/     rsync пишет свободно ✓
├── files/         rsync пишет свободно ✓
├── dataspace/     rsync пишет свободно ✓
└── infra/         rsync пишет свободно 

chattr +i только на ~/server/ — защищает контейнер от удаления.
Подпапки не защищены — rsync должен свободно создавать файлы внутри.


СИНХРОНИЗАЦИЯ

Расписание: при запуске ПК + каждый час (systemd user timer)

Команда вручную:

bash <(curl -s http://91.218.142.168/files/sync-server.sh)

Что синхронизируется:

Источник Назначение Размер
/opt/claude-workspace ~/server/workspace/ ~50MB
/var/www/html/files/ ~/server/files/ ~50MB
/mnt/beget-s3/ ~/server/dataspace/ большой
/mnt/beget-infra/ ~/server/infra/ большой

УСТАНОВКА (один раз)

bash <(curl -s http://91.218.142.168/files/setup-pc-sync.sh)

УПРАВЛЕНИЕ

# Статус синхронизации
systemctl --user status server-sync.timer

# Запустить синхронизацию вручную
systemctl --user start server-sync.service

# Снять защиту (когда надо удалить папку)
sudo chattr -i ~/server/workspace/

# Восстановить защиту
sudo chattr +i ~/server/workspace/

ФАЙЛЫ НА СЕРВЕРЕ

Файл Назначение
/var/www/html/files/setup-pc-sync.sh Установка (запускается один раз)
/var/www/html/files/sync-server.sh Синхронизация вручную