в
может ли rclone налету при команде copy копировать не сами файлы, а создавать zip по указанным правилам

о
стандартная команда rclone copy не умеет «на лету» архивировать файлы в .zip прямо во время передачи. У rclone задачи 1:1, то есть он передает файлы ровно в том виде, в котором они лежат в источнике. [1, 2, 3]

Тем не менее, в rclone предусмотрены средства для частичной автоматизации этой задачи: [1, 2]

1. Упаковка сторонними средствами перед копированием

Для создания .zip с определенными правилами (например, размер архива, степень сжатия) следует сначала сделать файлы локально, а затем скопировать получившийся архив в нужное место: [1]

B
# 1. Сжимаем файлы с нужными правилами утилитой (например, zip)
zip -r my_backup.zip /path/to/source -x "*.log"
2. Копируем готовый архив в место
rclone copy my_backup.zip remote:backup_folder 

Используйте код с осторожностью.

2. Автоматизация через rclone mount

Если очень хочется сделать процесс «прозрачным», можно использовать команду rclone mount (смонтировать место назначения как локальный диск) и выполнять архивацию прямо на него через консольные утилиты вроде zip или 7z. В этом случае файлы будут сжиматься локально и автоматически отправляться в облако. [1]

3. Использование встроенного Remote-бэкенда Compress

У rclone есть встроенный тип бэкенда Compress, который может сжимать файлы (алгоритмы gzip или zstd) «на лету» при загрузке. [1, 2]

Ограничение: он сжимает каждый файл по отдельности, а не упаковывает их в единый .zip с удобной для вас структурой каталогов. [1, 2]

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