Содержание
rclone - rsync для облаков
Утилита для работы с различными облачными хранилищами. Не понимаю, как я раньше её не заметил.
Доки: https://rclone.org/docs/
Заметки для FTP
Перенести (!) файлы из локального каталога на FTP сервер (не скопировать и не синхронизировать).
rclone move /var/www/bak ftp-srv-name:/remote-path
rclone copy|move|sync откуда имя-настроеного-стораджа:/путь-на-сторадже
Посмотреть файлы на удаленном сервере с помощью tree
rclone tree ftp-srv-name:/remote-path
Через ncdu можно посмотреть размер файлов
rclone ncdu ftp-srv-name:/remote-path
Ошибка при move на FTP
2018/11/04 21:28:26 ERROR : ftp://192.168.1.77:21/files: Error while Logging in into 192.168.1.77:21: 530 Sorry, the maximum number of allowed clients (5) are already connected.
rclone --transfers 1 move /var/www/bak ftp-srv-name:/remote-path
через какое-то время пришлось еще добавить ключ –checkers 1
rclone --transfers 1 --checkers 1 move /var/www/bak ftp-srv-name:/remote-path
Если что-то непонятно всегда используем ключ –dry-run
.
Удалить файлы старше N дней на FTP
rclone delete with the --min-age
Failed to find remote: didn't find filing system for "ftp"
В Debian старая версия. Ставим вручную
curl https://rclone.org/install.sh | sudo bash
Разное
Проверка свободного места
Команда about, rclone size: report total space available and free as well as used
Например для sftp в hetzner storage box
# rclone about sftp-hetzner:/ Total: 100 GiB Used: 76.412 GiB Free: 23.588 GiB
Не копировать существующие файлы
Пропустить файлы если они уже существуют можно с помощью --ignore-existing
rclone copy --ignore-existing remote-path:folder destination:my_bak
Копировать только определенные файлы
Используем --include, --exclude, --filter
Копируем файлы и именем RTFM_log_*
с max-age 2 часа
Параметры времени, #time-option - max-age и min-age
rclone copy remote-path:foobar/files/ destination:my_bak --include RTFM_log_* --max-age 2h --no-traverse
Копируем только .json
rclone copy remote-path:foobar/files/ destination:my_bak --include "*.json" --no-traverse
Копируем только .json и .txt
rclone copy remote-path:foobar/files/ destination:my_bak --include "*.{json,txt}" --no-traverse
Обсуждение