rsync can create a batch file that can be used to simplify in doing multiple identical rsync jobs. This batch file contains record of all steps taken by rsync to do its job which can involve copying, moving, synchronising, deleting, and whatever of directories and files from a source to a destination. This batch file can be used to apply same actions for any other combination of sources and destinations. For example, in creating incremental backup to multiple destinations, one just need to record a batch file using --write-batch option for the first backup destination and use --read-batch option for the rest backup destinations.

Another use case is perhaps when one needs to selectively copy updated files from one laptop to another laptop but the only networking option available is a slow ad-hoc WiFi connection and there is a multi-gigabytes USB flash disk laying around (which can be faster than the ad-hoc WiFi, yeah, this is an old laptop: 11Mb/s max). rsync will write all things it's going to do but not actually do it using --only-write-batch and this can be done via the ad-hoc WiFi connection in a fairly reasonable time. Next, run rsync using --read-batch using the created batch file but change the destination to the USB flash disk.

To create batch file:

rsync -vv --progress --stats -r --size-only --exclude=partial/ --exclude=lock --compare-dest=/var/cache/apt/archives --ignore-existing /var/cache/apt/archives/ --only-write-batch=batch hydrogen@brazos.tink.qnv:/tmp/arc/

To copy to flash disk using --read-batch:

rsync -vv --progress --stats -r /var/cache/apt/rchives/ --read-batch=batch /media/sdb