rsync

last updated: May 02, 2026

https://rsync.samba.org

The classic file syncing program


for a useful progress display without echoing every file to the terminal, try --info=progress2:

for example: rsync -a --info=progress2 ../branch/node_modules ./node_modules won't print every file it copies in the node_modules dir, which is enormous, but will print useful progress.


How I sync my local music directory with my file server:

#!/usr/bin/env bash
SOURCE="/Users/llimllib/Music/"
DEST="/Volumes/music"

# Check if destination exists
if [ ! -d "$DEST" ]; then
    echo "Error: Destination directory $DEST does not exist"
    echo "Is the volume mounted?"
    exit 1
fi

# Sync with progress
rsync -avh --progress \
  --exclude='Music/' --exclude='GarageBand/' --exclude 'Audio Music Apps/' \
  "$SOURCE" "$DEST"
↑ up