disconnected synchronization (mostly unidirectional)

Wayne Davison
Sun, 11 Mar 2007 14:41:38 -0000

On Sat, Mar 10, 2007 at 08:43:01PM +0100, Konrad Karl
wrote:
> machine A (office) is, where most file changes/downloads etc happen.
>                    and it has limited internet access (only proxy possible)
>
> Machine B (home) has low bandwidth, is NATed etc.

To copy data from A -> B using a USB as a data transport rsync supports
batch-file creation.  However, rsync doesn't support a fake file list.
So, to use batch files, you have two options:

1) Actually connect from A to B, but use the --only-write-batch=FILE
option.  This will only use the connection to transfer the file list and
receive checksums for changed files from the remote host.  (You can turn
off the checksum sending via --whole-file, which makes the batch contain
each changed file's whole data, not just the differences, to reduce the
data sent over the wire.)

2) Have a copy of your home data somewhere in your office setup, and use
rsync with the --write-batch=FILE option to update that office copy.
The batch it creates will contain all the necessary changes to update
the home files as long as the home system and the extra office copy were
identical at the start of the rsync.

In both cases you'd put the batch file that rsync created onto your USB
memory, and then run rsync --read-batch=FILE using that file when you
got home to do the actual update of machine B.

..wayne..