Дата: 2025-11-12
Статус: Руководство по настройке
Настроить автоматическую загрузку бекапов на Яндекс.Диск через rclone.
Вариант A: Через веб-интерфейс (рекомендуется)
Перейти: https://oauth.yandex.ru/authorize?response_type=token&client_id=423de84129304ccab38c6e7c8c6ae1cf
Авторизоваться в Яндекс аккаунте
Разрешить доступ приложению
Скопировать токен из адресной строки:
https://oauth.yandex.ru/verification_code#access_token=ВАШТОКЕНЗДЕСЬ&...
Сохранить токен в безопасное место
Вариант B: Через rclone config
rclone config
Выбрать:
- n) New remote
- name: yandex
- Storage: yandex
- client_id: (оставить пустым)
- client_secret: (оставить пустым)
- Edit advanced config: n
- Use auto config: n (так как нет GUI)
- Вставить токен из Варианта A
- y) Yes this is OK
- q) Quit config
Автоматическая настройка:
# Создать конфиг с токеном
$WORKSPACE/scripts/backup/setup-yandex-disk.sh "ВАШ_ТОКЕН"
Или вручную:
Создать файл /root/.config/rclone/rclone.conf:
[yandex]
type = yandex
token = {"access_token":"ВАШ_ТОКЕН","token_type":"bearer","expiry":"0001-01-01T00:00:00Z"}
# Список файлов на Яндекс.Диске
rclone ls yandex:
# Создать тестовую папку
rclone mkdir yandex:/backups-workspace
# Загрузить тестовый файл
echo "test" > /tmp/test.txt
rclone copy /tmp/test.txt yandex:/backups-workspace/
# Автоматически через скрипт
$WORKSPACE/scripts/backup/create-yandex-structure.sh
# Или вручную
rclone mkdir yandex:/backups-workspace
rclone mkdir yandex:/backups-workspace/dev-pro
rclone mkdir yandex:/backups-workspace/marketplace
rclone mkdir yandex:/backups-workspace/databases
После настройки проверить:
# 1. Конфиг существует
cat ~/.config/rclone/rclone.conf
# 2. Подключение работает
rclone about yandex:
# 3. Структура создана
rclone lsd yandex:/backups-workspace/
Должно показать:
-1 2025-11-12 12:00:00 -1 dev-pro
-1 2025-11-12 12:00:00 -1 marketplace
-1 2025-11-12 12:00:00 -1 databases
ВАЖНО:
Ограничить права на конфиг:
bash
chmod 600 ~/.config/rclone/rclone.conf
Не показывать токен в логах
После настройки будут работать:
Ежедневный backup marketplace БД → Яндекс.Диск
- Cron: 04:00
- Локально: /var/backups/marketplace/db/
- Облако: yandex:/backups-workspace/marketplace/db/
Еженедельный backup workspace → Яндекс.Диск
- Cron: Воскресенье 03:00
- Локально: /var/backups/dev-pro/
- Облако: yandex:/backups-workspace/dev-pro/
Перед deploy snapshot → Яндекс.Диск
- Вручную
- Локально: /var/backups/marketplace/snapshots/
- Облако: yandex:/backups-workspace/marketplace/snapshots/
Проверить сколько места используется:
# На Яндекс.Диске
rclone about yandex:
# Локально
du -sh /var/backups/*
# Последние бекапы на Яндекс.Диске
rclone ls yandex:/backups-workspace/ --max-age 7d
Причина: Неверный токен или истёк срок действия
Решение:
# Получить новый токен и переконфигурировать
rclone config
Причина: Нет прав доступа
Решение: Проверить что токен получен с правильными правами
Причина: Ограничения Яндекс.Диска
Решение: Использовать --transfers 4 для параллельной загрузки
# Список всех remote
rclone listremotes
# Информация о Яндекс.Диске (квота, использовано)
rclone about yandex:
# Копировать файл
rclone copy /path/to/file yandex:/folder/
# Синхронизация папки (односторонняя)
rclone sync /local/folder yandex:/remote/folder
# Удалить старые файлы (старше 30 дней)
rclone delete yandex:/backups-workspace/marketplace/ --min-age 30d
# Размер папки на Яндекс.Диске
rclone size yandex:/backups-workspace/
# Проверить целостность
rclone check /local/backup yandex:/backups-workspace/backup
Создано: 2025-11-12
Версия: 1.0