Skip to main content

Dry Run & Testing

Dry Run Flags​

FlagPurpose
-n / --dry-runPreview changes, don't execute
--itemize-changesShow what would change and why
--statsShow transfer statistics
-vList files that would transfer
-iShort for --itemize-changes

Common Patterns​

# Basic dry run
rsync -avn src/ dest/

# Dry run with detailed changes
rsync -avn --itemize-changes src/ dest/

# Preview deletions
rsync -avn --delete src/ dest/

# Preview with statistics
rsync -avn --stats src/ dest/

# Test exclude patterns
rsync -avn --exclude='cache/' --exclude='*.log' src/ dest/

# Count what would transfer
rsync -avn src/ dest/ | wc -l

# Count what would be deleted
rsync -avn --delete src/ dest/ | grep "^deleting" | wc -l

# Save dry run to file for review
rsync -avn --itemize-changes src/ dest/ > /tmp/rsync-preview.txt

What Dry Run Doesn't Test​

Disk space on destination
Network stability over full transfer
File locks during long transfers
Permission errors on write
SSH timeout on large jobs
tip

Always dry-run before using --delete on production. Review the output carefully — especially lines starting with *deleting.