rclone
A command-line tool for syncing files and directories to and from cloud storage providers — Google Drive, S3, Dropbox, OneDrive, and dozens more — using an rsync-like syntax.
What it is
rclone is a command-line program for managing files on cloud storage. It works with dozens of providers — Google Drive, S3, Dropbox, OneDrive, Backblaze B2, and more — through a single, consistent set of commands, so syncing or copying data feels the same regardless of which backend is on the other end.
Why I use it
I use it to sync my Obsidian vault from Google Drive down to my local machine, so my notes stay available offline and in sync across devices without relying on a desktop sync client running in the background. It’s also handy for scripting backups straight to cloud storage from a server, the same way I’d use rsync for a local or SSH target.
Installation
# Official install script (recommended — keeps rclone up to date)
sudo -v ; curl https://rclone.org/install.sh | sudo bash
# Debian / Ubuntu
sudo apt install rclone
# RHEL / Rocky / AlmaLinux
sudo dnf install rclone
# Arch
sudo pacman -S rclone
Common usage
# Set up a new remote (interactive wizard — handles OAuth for Google Drive, etc.)
rclone config
# List configured remotes
rclone listremotes
# Sync a remote folder down to a local directory, with progress output
rclone sync gdrive:Obsidian ~/Obsidian --progress
# Preview what a sync would do without changing anything
rclone sync gdrive:Obsidian ~/Obsidian --dry-run
# Copy without deleting anything at the destination (safer than sync)
rclone copy gdrive:Obsidian ~/Obsidian --progress
Key flags
-P,--progress— show live transfer progress--dry-run— show what would happen without making changes--exclude— skip files or paths matching a pattern--transfers— number of files to transfer in parallel (default 4)--checkers— number of checks to run in parallel when comparing files
Note:
syncmakes the destination match the source exactly, deleting extra files on the destination side.copyonly adds/updates files and never deletes — good default when you’re not sure which one you want.