Using rsync for Local File Transfers

Handy rsync commands for efficiently moving files between directories on macOS, with flags to preserve metadata, show progress, and remove source files.


rsync is a powerful file transfer utility, often used for backups, syncing, and moving files locally or over a network. Below are common usage examples tailored for local file moves on macOS:

Basic syntax

rsync [options] source destination

Recommended options:
- -a: archive mode (preserves permissions, timestamps, symlinks, etc.)
- -h: human-readable output
- --progress: shows progress during transfer
- --remove-source-files: deletes original files after successful transfer

Examples

Move .mp4 screenshot recordings from Dropbox to the videos folder:

rsync -ah --progress --remove-source-files /Users/nic/Dropbox/Screenshots/*.mp4 /Users/nic/vid

Move all files from Movies/Recordings/ to a shorter path vid/:

rsync -ah --progress --remove-source-files /Users/nic/Movies/Recordings/ /Users/nic/vid/

Note: If the source ends with a /, the contents of the directory are copied. If not, the entire directory is copied into the destination.

Useful additions:
- Add --dry-run to test without making changes.
- Add --delete to remove files in the destination that no longer exist in the source (only use with care).

links

social