Rclone в Windows для резервного копирования/синхронизации в облако

Консольная утилита Rclone позволяет настроить копирование или синхронизацию данных, хранящихся на вашем локальном компьютере с различными облачными хранилищами, включая Яндекс Диск, Google Drive, OneDrive, Dropbox, любыми S3 совместимым объектными хранилищами и множеством других сервисов. Часто Rclone называют rsync для облака. В этой статье мы рассмотрим сценарий организации автоматического резервного копирования данных с Windows машины, путем синхронизации некоторых файлов и папок с вашего компьютера в Яндекс Диск (по аналогии в качестве облачного хранилища можно использовать любой другой облачный провайдер).

Статья стала особо актуальной после того, как летом 2026 года Яндекс отключил бесплатную фоновую синхронизацию в облако в своем десктоп клиенте.

Rclone: настройка подключения к облачному хранилищу в Windows

Для установки утилиты rclone в Windows можно воспользоваться встроенным пакетным менеджером WinGet (или скачайте установщик с официального сайта или GitHub репозитория).

winget install Rclone.Rclone

Rclone установка в Windows

Rclone это консольная утилита, поэтому для ее запуска и настройки используется интерфейс командной строки. Чтобы запустить интерактивный мастер настройки Rclone, выполните команду:

rclone config

Утилита предложит создать вам новое удаленное хранилище. Чтобы подключить ЯндексДиск в качестве хранилища, последовательно выберите следующие параметры:

  1. Введите n (New remote) чтобы создать новое подключение
  2. Задайте имя для подключения, например: ydisk .
  3. Появится список доступных хранилищ. Найдите в списке Yandex Disk и введите его номер (в моей версии Rclone он доступен под номером 64 ). Rclone создать подключение к yandex disk
  4. На шаге client_id и client_secret нажмите Enter (оставьте пустыми).
  5. На этапе Edit advanced config, выберите n
  6. Следующий пункт — Use web browser to automatically authenticate rclone with remote? Введите y .
  7. Должен открыться браузер, в котором вам нужно выполнить аутентификацию (OAuth) под вашим Яндекс-аккаунтом.
  8. Разрешите утилите rclone доступ к файлам на Яндекс диске Предоставить rclone доступ к Яндекс диску
  9. Должно появится сообщение об успешном получении токена. Успешное получение токена доступа к облачному хранилищу
  10. Подтвердите сохранение конфигурации y , а затем нажмите q чтобы выйти из интерактивного режима rclone. сохранить конфигурационный файл rclone.conf

Утилита Rclone сохраняет конфигурационный файл подключения rclone.conf в профиле текущего пользователя. Здесь хранится полученный вам токен доступа к Яндекс диску (access_token). Путь к конфигурационному файлу можно вывести так:

rclone config file

C:\Users\username\AppData\Roaming\rclone\rclone.conf

rclone config file

Облачное хранилище, подключенное через Rclone можно перемонтировать в Windows в виде сетевого диска с назначенное ему буквой. Потребуется установленной утилита WinFSP (Windows File System Proxy, аналог FUSE для Linux):

rclone mount ydisk: Y:

Базовые команды Rclone

Рассмотрим базовые команды утилиты rclone.

Вывести список корневых папок в облаке:

rclone lsd ydisk:

Rclone поддерживает разные режимы синхронизации с облаком, от копирования файлов и директорий до непосредственно синхронизации содержимого директорий, в том числе двусторонней.

Скопировать указанную локальную папку в облако:

rclone copy "C:\Backup" ydisk:HomeBackup --progress

Такая команда скопирует новые и измененный файлы из исходной папки в указанную папку HomeBackup в облаке (если целевая папка отсутствует, она будет создана автоматически).

Благодаря опции --progress мы видим текущую скорость копирования и оставшееся время. Если нужно выводить в консоль информацию о каждом обработанном файле, добавьте опцию -v ( --verbose ).

rclone copy скопировать файлы в облачное хранилище

Просмотр списка файлов в облачном контейнере:

rclone lsd ydisk:HomeBackup

Удалить определенный файл из хранилища:

rclone delete ydisk:HomeBackup/GPO.zip --verbose –progress

Очистка корзины Яндекс Диска:

rclone cleanup ydisk:

Удаление файла и очистка корзины яндекс диск через rclone

Как было указано выше, команда rclone copy копирует и заменяет только новые и измененный файлы. Если файл был удален в локальной папке-источнике, он не будет удален в облаке.

Если вам нужно настроить полноценную синхронизацию с облаком определенной папки на компьютере, используется опция sync. В этом случае, если файл был удален на локальном компьютере, он также будет удален в облаке:

rclone sync "C:\Backup" ydisk:HomeBackup --progress

Опция rclone sync плохо подходит для резервного копирования данных. Это именно сценарий синхронизации данных. Ведь при случайном удалении/повреждении файла в источнике, он будет автоматически удален и в облаке. Если вы хотите использовать rclone sync для резервного копирования, лучше добавить опцию облачной корзины --backup-dir . В этом случае вместо удаления файла в облаке, он будет перемещен в указанную папку:

rclone sync "C:\Backup" ydisk:HomeBackup --backup-dir ydisk:HomeBackup_Trash --progress

Контроля целостности данных на стороне облака. Для защиты от ошибок устройств хранения на стороне облачного провайдера (бывают редко, но лучше знать об этом заранее), можно с некоторой периодичностью выполнять проверку размеров и контрольных сумм файлов в облачном хранилище.

rclone check "C:\Backup" "ydisk:HomeBackup"--one-way

Rclone поддерживает режим двухсторонней синхронизации файлов ( bidirectional ), когда утилита отслеживает изменения как в локальной папке, так и в облаке, и переносит изменения в любом из направлении, где они отличаются. Если вы хотите включить двухстороннюю синхронизацию, то при первом запуске нужно добавить опцию --resync :

rclone bisync "C:\Backup" ydisk:BackupFolder --resync

При этом генерируется база данных со структурой и состоянием файлов. После этого можно запускать только регулярные синхронизации (можно запускать через планировщик задач Windows):

rclone bisync "C:\Backup" ydisk:BackupFolder --resilient --conflict-resolve newer

Последние две опции используются для настройки поведения при разрешении конфликтов и ошибок. Опция --conflict-resolve newer указывает поведение системы при одновременном изменении файла. Актуальной будет считаться версия файла, созданная позднее. Опция --resilient позволяет продолжить работу в случае повреждения (недоступности) исходной базы синхронизации.

В Rclone встроена возможность управления через графический интерфейс rClone Backend в браузере. Для запуска этого интерфейса выполните команду:

rclone rcd --rc-web-gui

Эта команда запустит легкий веб сервер, предоставляющий доступ к управлению rclone через веб-GUI. Здесь вы можете настраивать подключения к хранилищам, просматривать содержимое облачных хранилищ, отслеживать запущенные задачи rclone в реальном времени.

rClone Backend rclone rcd --rc-web-gui

Вывести информацию о доступной и используемой дисковой квоте в Яндекс Диске:

rclone about ydisk

rclone about ydisk сколько места доступно и исопльзовано в храниилще

В некоторых случаях сервера Яндекс могут искусственно ограничивать скорость сторонних клиентов. Если столкнетесь с этим, попробуйте использовать в командах rclone опцию --yandex-spoof-ua . Эта опция подменяет строку агента в HTTP заголовках, маскируясь под официальный десктопный клиент Яндекс Диск.

Дополнительные полезные опции:

  • Если копируете много мелких файлов, можно увеличить количество одновременных потоков загрузки с 4 (по умолчанию): --transfers 8
  • При синхронизации больших файлов полезно увеличить размер буфера на каждый поток со стандартных 16 Мб: --buffer-size 64

Можно исключить некоторые типы файлов или папки из задания синхронизации утилиты Rclone. Список типов файлов для можно указать непосредственно в командной строке:

--exclude "/TMP/" --exclude "*.{log,tmp,bak}" --exclude "Thumbs.db"

Или задать путь к текстовому файлу со списоком исключений:

--filters-file "C:\rclone\filters.txt"

PowerShell скрипт для синхронизации папок с компьютера в Яндекс Диск через Rclone

Рассмотрим пример автоматизации задачи синхронизации содержимого локальных папок с компьютера в облачное хранилище Яндекс. Мы создали небольшой PowerShell скрипт, который синхронизирует несколько локальных папок в Яндекс Диск через Rclone.

Особенности логики этого скрипта:

  1. В облаке создаются две папки: current (актуальное зеркало ваших файлов) и archive (сюда перемещаются старые версии и удаленные файлы).
  2. При каждом запуске rclone sync обновляет папку current. Если файл на компьютере изменился или был удален, его старая версия отправляется в archive/YYY-MM-DD .
  3. Специальная команда удаляет из папки archive всё, что старше 60 дней

$Remote = "ydisk:"
$Folders = @("C:\Backup\", "C:\Users\sysops\Documents\keepassDbe.kdbx","C:\Users\sysops\Documents\","F:\Projects")
$Dest = "BackupRclone/DesktopHome/current"
$Archive = "BackupRclone/DesktopHome/archive"
$Timestamp = Get-Date -Format "yyyy-MM-dd"
$ExcludeFile = "$PSScriptRoot\exclude.txt"
$HasErrors = $false
foreach ($F in $Folders) {
if (Test-Path $F) {
$FolderName = Split-Path $F -Leaf
rclone sync $F "$Remote$Dest/$FolderName" --backup-dir "$Remote$Archive/$FolderName/$Timestamp" --exclude-from $ExcludeFile --progress --verbose
if ($LastExitCode -ne 0) { $HasErrors = $true }
}
}
# Удаление версий старше 60 дней (если папки синхронизировались без ошибок)
if (-not $HasErrors) {
# 1. Удаляем в архиве старые файлы старше 60 дней
rclone delete "$Remote$Archive" --min-age 60d --ignore-errors --progress --verbose
# 2. Очищаем пустые папки
rclone rmdirs "$Remote$Archive" --leave-root --progress --verbose
} else {
Write-Error "Ошибка очистки хранилища!"
}

Создаем в планировщике задач Windows задание запуска этого PowerShell скрипта по расписанию (каждый день в указанное время). Можно создать задание из графического интерфейса taskschd.msc или такой командой:

$TaskName="RcloneBackuptoYaDisk"
$Trigger = New-ScheduledTaskTrigger -Daily -At 12:00PM
$Action= New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-NoProfile -ExecutionPolicy Bypass -NonInteractive -WindowStyle Hidden -File C:\Backup\BackupScript\YandexDiskBackup.ps1"
Register-ScheduledTask -TaskName $TaskName -Trigger $Trigger -Action $Action

Запуск PowerShell скрипта синхронизации локальных данных в облако через rclone и задание планировщика

Шифрование данных в Rclone

Rclone позволяет шифровать данные на стороне клиента перед отправкой в облако. Для этого запустите rclone config и создайте новое хранилище типа crypt (опция 16 в моем случае):

шифрование данных в rclone

Новое хранилище создается поверх созданного ранее подключения к Яндекс диску. Просто укажите укажите целевую папку для шифрованных данных ( ydisk:BackupCrypt ).

Шифрование имен файлов и папок в rclone

Выберите тип шифрования имен файлов (например, 1 standard, при котором имена файлов шифруются). Затем включите шифрование директорий (Encrypt directory names=True), задайте свой пароль шифрования или сгенерируйте его автоматически.

пароли шифрования rclone

Затем сгенерируйте пароль для соли. Запомните указанные пароли (сохраните в безопасное место).

Теперь, если вы хотите скопировать данные в зашифрованном виде, просто отправьте их в подключенное хранилище crypt_ydisk .

список подключённых хранилищ в rclone

Например:

rclone copy "C:\Users\sysops\Desktop\keepassDB.kdbx" crypt_ydisk:HomeBackup --progress

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

файлы в яндекс диск зашифрованы

При просмотре зашифрованных файлов в хранилище через Rclone с компьютера, их имена отображаться в незашифрованном виде:

rclone lsf crypt_ydisk:HomeBackup


Предыдущая статья Следующая статья


Комментариев: 0 Оставить комментарий

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)