Dangerous Commands
Dry run / previewRun Rsync Without Deleting Your Backup
You need to preview an rsync operation before moving or deleting files.
Command
rsync -avhn --delete ./source/ ./backup/
Before you run this
System impact: Preview only. Still verify source and destination paths before running the real command.
When not to use it: Do not assume dry-run output is safe if the source and destination paths are reversed.
Expected output
A list of files that would be copied, updated, or deleted.
System impact
Dry run / preview. The dry run prints intended changes without modifying files.
When to use it
Use this before any sync involving deletes, production data, or backups.
When not to use it
Do not assume dry-run output is safe if the source and destination paths are reversed.
Recovery / rollback
No state is changed during the dry run. If you remove `-n`, make a backup first.
Watch this command run
Command transcript
This sanitized transcript shows the commands and output shape without exposing host details.
$ find source backup -maxdepth 2 -type f | sort
backup/app.conf
backup/stale.txt
source/app.conf
source/index.html
$ rsync -avhn --delete ./source/ ./backup/
sending incremental file list
deleting stale.txt
app.conf
index.html
sent 98 bytes received 31 bytes 258.00 bytes/sec
total size is 24 speedup is 0.19 (DRY RUN)
$ rsync -avh --delete ./source/ ./backup/
sending incremental file list
deleting stale.txt
app.conf
index.html
sent 206 bytes received 67 bytes 546.00 bytes/sec
total size is 24 speedup is 0.09
View commands shown
These are the commands shown in the sanitized transcript.
Commands shown
find source backup -maxdepth 2 -type f | sortrsync -avhn --delete ./source/ ./backup/rsync -avh --delete ./source/ ./backup/
next steps
Related commands
Preview What Rsync Would Delete
`rsync --delete` is useful. It is also how people erase the wrong side.
rsync -avhn --delete ./source/ ./backup/ | grep '^deleting'
Preview Backup Drift with rsync
Rsync can tell you what would change before it changes anything.
rsync -ain --delete source/ backup/
Print a Dry-Run Removal Script
The reviewable cleanup command is the one you print before you run.
find /lab/disk-inode-cleanup/var/tmp/uploads -xdev -type f -mtime +7 -printf 'rm -i -- %p\n'
Compare Source and Backup File Lists
A backup can be missing files and still look plausible at a glance.
comm -3 <(find source -type f | sed 's#^source/##' | sort) <(find backup -type f | sed 's#^backup/##' | sort)
Inspect Permissions Before Changing Them
The permission fix was easy. Knowing what not to chmod was the hard part.
namei -l /var/www/example/index.html
Study mapping
Use this as independent command practice: read the notes, predict the output, then compare it with the example before using a real shell.
Useful for
- LPIC-1 style command-line practice
- LFCS style performance tasks
- Linux+ style troubleshooting review
Independent study support only. No affiliation, endorsement, exam dumps, or real exam questions.