Перейти к содержимому
Резервное копирование и восстановление

Резервное копирование и восстановление

TorrPlay позволяет выгружать и восстанавливать всю библиотеку торрентов: метаданные, категории, постеры и хеши. Это удобно для переноса раздач между серверами или создания резервной копии перед обновлением.


Создание резервной копии

GET /api/v1/torrents/backup

Возвращает файл JSON с метаданными всех раздач (хеши, magnet-ссылки, названия, категории и постеры). Настройки приложения в резервную копию не входят. Чтобы скачать резервную копию:

curl -o torrplay.backup http://localhost:8090/api/v1/torrents/backup

Восстановление из резервной копии

POST /api/v1/torrents/restore

Отправьте файл резервной копии в формате multipart/form-data:

curl -X POST http://localhost:8090/api/v1/torrents/restore \
  -F "file=@torrplay.backup"

TorrPlay заново добавит все раздачи из бэкапа с их сохранёнными метаданными.


Обновление метаданных в резервной копии

Перед восстановлением в файл бэкапа можно загрузить свежие метаданные (постеры, точные названия, категории) из TheTVDB с помощью команды metadata:

Доступные параметры

ФлагОписаниеПо умолчанию
--backup <path>Входной файл резервной копииtorrplay.backup
--output <path>Путь к выходному файлу<имя_входного_файла>.updated
--categoryОбновление категорий (Movies / Series)Отключено
--posterЗагрузка постеровОтключено
--titleОбновление названий из внешнего сервисаОтключено
--language <lang>Код языка (например, eng, spa, rus)—
--provider <provider>Провайдер метаданных (сейчас поддерживается только tvdb)tvdb
--api-key <key>API-ключ выбранного сервиса—

Примечание: флаги --poster и --title требуют указания --api-key.

Пример использования

Загрузка постеров и названий из TheTVDB на русском языке:

./torrplay metadata \
  --backup torrplay.backup \
  --poster --title \
  --language rus \
  --provider tvdb \
  --api-key YOUR_TVDB_API_KEY

Команда создаст файл torrplay.backup.updated. Другой путь можно задать через флаг --output.


Полный процесс переноса библиотеки

    graph LR
    Inst1["Исходный сервер TorrPlay"] -->|1. GET /api/v1/torrents/backup| File["torrplay.backup"]
    File -->|2. Добавление метаданных: ./torrplay metadata| Updated["torrplay.backup.updated"]
    Updated -->|3. POST /api/v1/torrents/restore| Inst2["Целевой сервер TorrPlay"]
  
# 1. Скачивание резервной копии с исходного сервера
curl -o torrplay.backup http://source-host:8090/api/v1/torrents/backup

# 2. (Необязательно) Обновление метаданных
./torrplay metadata --backup torrplay.backup --poster --title --provider tvdb --api-key YOUR_TVDB_API_KEY

# 3. Восстановление на новом сервере
curl -X POST http://target-host:8090/api/v1/torrents/restore \
  -F "file=@torrplay.backup.updated"
Последнее обновление