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.