Ранее я писал о том, как использовать Яндекс.Диск через WebDAV и как установить родной клиент Яндекс.Диска на Ubuntu Server. В этой статье расскажу о более «продвинутом» способе — с использованием утилиты rclone
. Это простой, универсальный инструмент, который можно использовать в bash-скриптах, например. В гайде покажу, как настроить его на Ubuntu, но он подойдёт и для других систем. Например, на macOS я использую его точно так же.
Что нам понадобится? Link to heading
- rclone на сервере (Ubuntu)
- rclone на основной машине с браузером. Так как мой домашний сервер не имеет графической оболочке и браузера, я буду использовать rclone на macOS для получения токена. Установить его на macOS можно через brew
Установка rclone на Ubuntu Link to heading
sudo apt update
Затем:
sudo apt install rclone
Настройка подключения к Яндекс.Диску Link to heading
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
.
Примеры использования Link to heading
Ниже приведены полезные команды:
Копирование файла в корень Яндекс.Диска
rclone copy ~/1.txt yandex:
Показать содержимое папки “Фото” на Яндекс.Диске
rclone ls yandex:/Фото
Скачать файл
reports_room.pdf
из папкиDocuments
на Яндекс.Диске в папкуDownloads
rclone 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 Link to heading
Хочу заменить родное приложение Yandex.Disk и попробовать использовать rclone
как сервис в связке с FUSE.
Установка FUSE (если ещё не установлен) Link to heading
apt install -y fuse3
Создание systemd-сервиса Link to heading
Создайте файл:
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
Активация сервиса Link to heading
sudo systemctl daemon-reload
sudo systemctl enable rclone-yandex.service
sudo systemctl start rclone-yandex.service
Проверка состояния сервиса Link to heading
sudo systemctl status rclone-yandex.service
Заключение Link to heading
rclone
— мощный и удобный инструмент для работы с облачными хранилищами, особенно если вам нужна автоматизация и работа из терминала. Он позволяет легко управлять Яндекс.Диском, создавать резервные копии, синхронизировать данные и даже монтировать диск как локальную файловую систему.