Rclone Starter Guide

Basic Installation

Linux/macOS

curl https://rclone.org/install.sh | sudo bash

Windows (using Powershell as Admin)

winget install Rclone.Rclone

Essential Commands

Configure new remote

rclone config

List directories

rclone ls remote:path

Copy files

rclone copy source:path dest:path

Sync directories (source to destination)

rclone sync source:path dest:path --progress

Mount remote as local drive

rclone mount remote:path /local/path &

Key Features

  • Supports 40+ cloud storage providers
  • End-to-end encryption
  • Bandwidth limiting: --bwlimit 1M
  • File filtering: --include "*.jpg" --exclude "*.tmp"
  • Server-side transfers when possible

Common Remote Types

  • gdrive (Google Drive)
  • s3 (Amazon S3)
  • onedrive (Microsoft OneDrive)
  • dropbox (Dropbox)
  • sftp (SSH/SFTP)

Performance Tips

Increase transfer speed

rclone copy source:path dest:path --transfers 32 --checkers 16

Skip integrity checks for speed

rclone sync source:path dest:path --fast-list --no-check-dest

Upload Commands

Single file

rclone copy /local/path/file.txt remote:path/

Entire directory

rclone copy /local/directory remote:path/

With progress bar

rclone copy /local/path remote:path --progress

Parallel uploads (faster)

rclone copy /local/path remote:path --transfers 32 --progress

With size/type filters

rclone copy /local/path remote:path --max-size 100M --include "*.jpg"

Sync (Upload & Delete)

rclone sync /local/path remote:path --progress

Warning: This will delete files on remote that don't exist locally

Move (upload and delete local)

rclone move /local/path remote:path

Interactive upload

rclone ncdu /local/path remote:path

Dry run (test without uploading)

rclone copy /local/path remote:path --dry-run

Use checksums to verify files

rclone copy source:path dest:path --checksum

Skip files newer than existing

rclone copy source:path dest:path --update

Skip based on size and time only (faster)

rclone copy source:path dest:path --size-only

Pro tip: Use --dry-run first to see which files will be transferred

Alternative: If you need byte-level resume, consider using --transfers 1 with --low-level-retries 10

Pro tip: Use --progress --stats 1s for real-time transfer statistics

Listing Commands

List files

rclone ls remote:path

List files with sizes

rclone lsl remote:path

List directories only

rclone lsd remote:path

Tree view

rclone tree remote:path

With file hashes

rclone hashsum SHA1 remote:path

Count files

rclone size remote:path

Filter by pattern

rclone ls remote:path --include "*.pdf"

Max depth

rclone ls remote:path --max-depth 2

Modified after date

rclone ls remote:path --min-age 30d

Interactive Browser

# NCurses interface
rclone ncdu remote:path

Pro tip: Use --fast-list for faster listing on supported remotes (like S3)

Comparison between copy and sync:

Copy

rclone copy source:path dest:path
  • Only copies new/changed files
  • Never deletes files at destination
  • Safe option for backups
  • Can result in duplicate files
  • Source and destination can differ

Sync

rclone sync source:path dest:path
  • Makes destination identical to source
  • Deletes files in dest that don't exist in source
  • More dangerous - can cause data loss
  • Perfect for mirroring
  • Use --dry-run first to preview changes

Quick Decision Guide:

Use copy when:

  • Adding files to existing backup
  • Want to preserve destination files
  • Unsure about source integrity

Use sync when:

  • Need exact mirror of source
  • Managing website deployments
  • Maintaining identical directories

Pro tip: Always use --progress and consider --backup-dir with sync for safety

Stopping a transfer

Ctrl+C (safest method)

  • Press Ctrl+C once for graceful stop
  • Press Ctrl+C twice for force stop

Kill by process ID

pkill rclone        # Graceful stop
pkill -9 rclone     # Force stop

Pro tip: Single Ctrl+C is preferred as it allows Rclone to finish current file transfer and clean up properly

Optimize transfer speed

Increase concurrent file transfers

rclone copy source:path dest:path --transfers 32 --progress

Full optimization

rclone copy source:path dest:path \
    --transfers 32 \
    --checkers 16 \
    --stats 1s \
    --buffer-size 64M

Maximum speed (high CPU/memory usage)

rclone copy source:path dest:path \
    --transfers 32 \
    --checkers 16 \
    --fast-list \
    --multi-thread-streams 12

Balanced approach

rclone copy source:path dest:path \
    --transfers 16 \
    --checkers 8

Pro tips:

  • --transfers: More isn't always better (try 8-32)
  • --buffer-size: Larger for fast networks
  • Monitor system resources (CPU/memory/network)
  • Some providers have rate limits
  • Alternative: Use --multi-thread-streams for large file transfers

Alternative tools: rsync (local/SSH only), acd_cli (Amazon Cloud Drive), gsutil (Google Cloud Storage)