An rsync preview becomes an approval record only when each marker is understood. Itemized output separates file transfers, directory creation, metadata-only changes, and deletions, so an unexpected path or action can stop the sync before data changes.
Each normal line begins with an 11-character field shaped like YXcstpoguax. The first position is the update action, the second is the item type, and positions three through eleven identify the attributes that rsync would update.
Message rows use a different shape. A line beginning with *deleting announces a destination removal rather than a normal 11-position marker, and it should be rejected unless that path is expected to disappear under the reviewed --delete policy.
$ rsync -a --dry-run --itemize-changes --delete /srv/source/ /srv/destination/ *deleting obsolete.log >f.s....... data/summary.txt cd+++++++++ reports/ >f+++++++++ reports/quarterly.txt .f...p..... scripts/run.sh
Keep the source, destination, trailing slash, excludes, preservation flags, and deletion options identical to the planned live command. --dry-run prevents this preview from writing or deleting files.
Reject the run if any *deleting path must remain on the destination.
A regular-file c marker requires --checksum and means the checksum differs. ACL and extended-attribute changes appear as a and x in the last two positions when those attributes are preserved.
Related: How to compare files by checksum with rsync
$ rsync -a --itemize-changes --delete /srv/source/ /srv/destination/ *deleting obsolete.log >f.s....... data/summary.txt cd+++++++++ reports/ >f+++++++++ reports/quarterly.txt .f...p..... scripts/run.sh
$ rsync -a --dry-run --itemize-changes --delete /srv/source/ /srv/destination/
No marker lines and exit status 0 mean rsync sees no remaining creates, transfers, attribute updates, or deletions for the reviewed paths and options.