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)