Настройка и использование Rclone для работы с облачными хранилищами

Опубликовано  04 03 2025 
2 min на чтение

Rclone — это мощный инструмент для управления облачными хранилищами, который поддерживает множество провайдеров, включая Google Drive, Yandex Disk, Dropbox и другие. В этом посте я расскажу, как настроить Rclone, монтировать облачные хранилища и использовать его для синхронизации и управления файлами.


Настройка Rclone

Для монтирования облачных хранилищ с опцией --allow-other необходимо раскомментировать строку в файле /etc/fuse.conf:

sudo nano /etc/fuse.conf

Найдите строку #user_allow_other и уберите комментарий:

user_allow_other

Создайте директорию для монтирования облачного хранилища:

mkdir -p ~/clouds/google

Запустите конфигурацию Rclone:

rclone config

Следуйте инструкциям, чтобы добавить облачное хранилище (например, Google Drive).

Монтирование

Монтирование Google Drive:

rclone mount google:/ ~/clouds/google \
  --umask 002 \
  --allow-other \
  --allow-non-empty \
  --vfs-cache-mode full \
  --vfs-cache-max-age 24h \
  --vfs-cache-max-size 4G \
  --vfs-read-chunk-size 40M \
  --vfs-read-chunk-size-limit 512M \
  --dir-cache-time 12h \
  --buffer-size 64M \
  --log-level INFO \
  --log-file ~/clouds/rclone.log \
  --daemon

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

Список удалённых хранилищ:

rclone listremotes

Просмотр содержимого:

rclone lsd google:/
rclone tree google:/

Информация о хранилище:

rclone about google:/

Очистка корзины

rclone cleanup google:/ -q

Копирование и синхронизация файлов

Копирование между облаками

rclone copy google:/ yandex:/ -P

Копирование из облака на локальный диск

rclone copy google:/data ~/data -P

Перемещение файлов

rclone move ~/data google:/data --delete-empty-src-dirs

Синхронизация

Синхронизация локальной папки с облаком:

rclone sync ~/data google:/data --create-empty-src-dirs

Синхронизация между облаками:

rclone sync yandex:/ google:/

Другие команды

Удаление файлов:

rclone delete google:/path  # Удаляет только файлы
rclone purge google:/path   # Удаляет всё, включая папки

Поиск дубликатов:

rclone dedupe google:/path

Создание директории:

rclone mkdir google:/new_folder

Проверка совпадения файлов:

rclone check ~/data google:/data

Размонтирование

Чтобы размонтировать облачное хранилище, используйте:

fusermount -u ~/clouds/google

Веб-интерфейс Rclone

Для управления Rclone через веб-интерфейс запустите:

rclone rcd --rc-web-gui

Настройка автозапуска

Создание юнита systemd ~/.config/systemd/user/rclone-mount@.service:

nano ~/.config/systemd/user/rclone-mount@.service

Добавьте следующий контент:

[Unit]
Description=RClone multiple Mount Service
Wants=network-online.target
After=network-online.target

[Service]
Type=notify
KillMode=none
RestartSec=5
ExecStartPre=-/usr/bin/mkdir -p %h/clouds/%i
ExecStart=/usr/bin/rclone mount %i:/ %h/clouds/%i \
    --config %h/.config/rclone/rclone.conf \
    --umask 002 --allow-other --allow-non-empty \
    --vfs-cache-mode full --vfs-cache-max-age 24h --vfs-cache-max-size 4G \
    --vfs-read-chunk-size 40M --vfs-read-chunk-size-limit 512M \
    --dir-cache-time 12h --buffer-size 64M \
    --log-level INFO --log-file %h/clouds/rclone.log
ExecStop=/usr/bin/fusermount -uz %h/clouds/%i
Restart=on-failure

[Install]
WantedBy=default.target

Запуск и включение сервиса

Перезагрузите systemd и включите автозапуск:

systemctl --user daemon-reload
systemctl --user enable --now rclone-mount@<rclone-remote>

Замените <rclone-remote> на имя вашего удалённого хранилища (например, google).


Итог

Rclone — это универсальный инструмент для работы с облачными хранилищами. С его помощью можно легко монтировать облачные диски, синхронизировать данные и управлять файлами. Настройка через systemd позволяет автоматизировать процесс монтирования при загрузке системы.

Поддержать проект или купить мне кофе можно тут. Без него я начинаю путать терминал с телепортом. 🚀☕️
Top