Найти в Дзене
КББ

rclone для Яндекс Диска

Ранее я писал о том, как использовать Яндекс.Диск через WebDAV и как установить родной клиент Яндекс.Диска на Ubuntu Server. В этой статье расскажу о более «продвинутом» способе — с использованием утилиты rclone.
Это простой, универсальный инструмент, который можно использовать в
bash-скриптах, например. В гайде покажу, как настроить его на Ubuntu, но
он подойдёт и для других систем. Например, на macOS я использую его
точно так же. sudo apt update Затем: sudo apt install rclone rclone config Далее следуйте этим шагам: Переходим на основную машину: Возвращаемся в консоль сервера и вставляем этот токен. ✅ Готово! Теперь Яндекс.Диск доступен через rclone. Ниже приведены полезные команды: ⚠️ Важно: команда sync перезаписывает локальную папку, удаляя файлы, которых нет на удаленном диске. Хочу заменить родное приложение Yandex.Disk и попробовать использовать rclone как сервис в связке с FUSE. apt install -y fuse3 Создайте файл: sudo vim /etc/systemd/system/rclone-yandex.service С таким
Оглавление

Ранее я писал о том, как использовать Яндекс.Диск через WebDAV и как установить родной клиент Яндекс.Диска на Ubuntu Server. В этой статье расскажу о более «продвинутом» способе — с использованием утилиты rclone.
Это простой, универсальный инструмент, который можно использовать в
bash-скриптах, например. В гайде покажу, как настроить его на Ubuntu, но
он подойдёт и для других систем. Например, на macOS я использую его
точно так же.

Что нам понадобится?

  • rclone на сервере (Ubuntu)
  • rclone
    на основной машине с браузером. Так как мой домашний сервер не имеет
    графической оболочке и браузера, я буду использовать rclone на macOS для
    получения токена. Установить его на macOS можно через
    brew

Установка rclone на Ubuntu

sudo apt update

Затем:

sudo apt install rclone

Настройка подключения к Яндекс.Диску

rclone config

Далее следуйте этим шагам:

  • Нажмите n (новое удалённое хранилище).
  • Введите имя (например, yandex).
  • Выберите тип хранилища: yandex (у меня это номер 57).
  • Оставьте поля client_id и client_secret пустыми (нажмите Enter).
  • При запросе Edit advanced config? — выберите N.
  • При запросе Use web browser to automatically authenticate rclone with remote? — если вы на сервере без GUI, ответьте n.

Переходим на основную машину:

  • Запускаем команду:rclone authorize "yandex"
  • Авторизуемся в Яндекс.
  • После прохождения авторизации в консоли появится access_token, полностью скопируйте его (от { до }).

Возвращаемся в консоль сервера и вставляем этот токен.

  • При запросе Keep this "yandex" remote? — нажимаем Y.
  • Нажимаем q для выхода.

✅ Готово! Теперь Яндекс.Диск доступен через rclone.

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

Ниже приведены полезные команды:

  • Копирование файла в корень Яндекс.Дискаrclone copy ~/1.txt yandex:
  • Показать содержимое папки “Фото” на Яндекс.Дискеrclone ls yandex:/Фото
  • Скачать файл reports_room.pdf из папки Documents на Яндекс.Диске в папку Downloadsrclone copy yandex:/Documents/reports_room.pdf ~/Downloads/
  • Скачать всю папку Documents с Яндекс.Дискаrclone copy yandex:/Documents/ ~/Downloads/Documents
  • Синхронизация папки Backup с внешним HDDrclone sync yandex:/Backup /Volumes/HDD/Backup

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

  • Удаление одного файлаrclone delete yandex:/Temp/old.txt
  • Очистка целой папкиrclone purge yandex:/Temp

Задача со звёздочкой: автоматический монтирование через systemd

Хочу заменить родное приложение Yandex.Disk и попробовать использовать rclone как сервис в связке с FUSE.

Установка FUSE (если ещё не установлен)

apt install -y fuse3

Создание systemd-сервиса

Создайте файл:

sudo vim /etc/systemd/system/rclone-yandex.service

С таким содержимым:

[Unit]
Description
=Rclone Mount Yandex Disk
After
=network-online.target
Requires
=network-online.target

[Service]
Type
=notify
ExecStart
=/usr/bin/rclone mount \
yandex: /mnt/65C8-D42C/YD \
--config=/root/.config/rclone/rclone.conf \
--allow-other \
--dir-cache-time=1h \
--vfs-cache-mode full \
--vfs-read-chunk-size 32M \
--vfs-read-chunk-size-limit 1G \
--daemon-timeout=10m \
--umask 000 \
--no-modtime \
--fast-list \
--allow-non-empty
ExecStop
=/bin/fusermount -uz /mnt/65C8-D42C/YD
Restart
=on-failure
RestartSec
=10

[Install]
WantedBy
=multi-user.target

Активация сервиса

sudo systemctl daemon-reload
sudo systemctl enable rclone-yandex.service
sudo systemctl start rclone-yandex.service

Проверка состояния сервиса

sudo systemctl status rclone-yandex.service

Заключение

rclone
— мощный и удобный инструмент для работы с облачными хранилищами,
особенно если вам нужна автоматизация и работа из терминала. Он
позволяет легко управлять Яндекс.Диском, создавать резервные копии,
синхронизировать данные и даже монтировать диск как локальную файловую
систему.