Универсальная библиотека и CLI-инструменты для работы с Яндекс.Диском через rclone.
# 1. Установить rclone (если не установлен)
curl https://rclone.org/install.sh | sudo bash
# 2. Настроить Яндекс.Диск
rclone config
# Выбрать: n (new remote)
# Name: ydisk
# Storage: yandex
# Следовать инструкциям для OAuth авторизации
# 3. Проверить соединение
rclone lsd ydisk:
from projects.infra_yandex_disk.solution.lib.ydisk_client import YDiskClient
# Создать клиент
client = YDiskClient(remote_name="ydisk")
# Загрузить файл
client.write_file("/local/path/file.txt", "remote/folder/file.txt")
# Скачать файл
client.read_file("remote/folder/file.txt", "/local/path/file.txt")
# Список файлов
files = client.list_files("remote/folder")
# Синхронизация
client.sync("/local/folder", "backup/folder")
# Скачать файл
python solution/scripts/yd_read.py \
--remote "ydisk:backup/data.db" \
--local "/tmp/data.db"
# Загрузить файл
python solution/scripts/yd_write.py \
--local "/tmp/data.db" \
--remote "ydisk:backup/data.db"
# Синхронизация директории
python solution/scripts/yd_sync.py \
--local "/opt/myproject" \
--remote "ydisk:backups/myproject"
# Создать бэкап
python solution/scripts/yd_backup.py \
--source "/opt/myproject" \
--destination "ydisk:backups/myproject" \
--name "myproject-$(date +%Y%m%d)"
#!/bin/bash
# Ежедневный бэкап БД на Яндекс.Диск
DATE=$(date +%Y%m%d)
DB_FILE="/tmp/backup-${DATE}.db"
# Создать дамп
sqlite3 /opt/myproject/data.db ".backup ${DB_FILE}"
# Загрузить на Яндекс.Диск
python solution/scripts/yd_write.py \
--local "${DB_FILE}" \
--remote "ydisk:backups/myproject/db-${DATE}.db"
# Удалить локальную копию
rm "${DB_FILE}"
# Синхронизация изображений из Drupal на Яндекс.Диск
python solution/scripts/yd_sync.py \
--local "/var/www/drupal/sites/default/files" \
--remote "ydisk:backups/drupal-media" \
--exclude "*.tmp" \
--exclude "css/*" \
--exclude "js/*"
Внутренний проект для инфраструктуры.
Claude AI Infrastructure Team
Последнее обновление: 2025-11-16