Here is the command I’m working with so far.
rsync -arvPh --bwlimit=5000 /images fog@192.168.1.56:/images/
Where:
-a == archive
-r == recursive
-v == verbose (gives file names as it transfers, for my benefit)
-P == show progress stats (for my interactive benefit)
-h == display numbers in a human-readable format (for my interactive benefit)
–bwlimit == bandwidth limitations in KB/s
I’m going to let it run overnight to see where I end up.
One interesting thing I found with rsync is that it runs in restartable mode. I stopped the transfer of a image mid stream. When I restarted the command it thought for a bit and then started the transfer where I broke the connection.
It looks like from Tom’s post that I may need to include the --exclude switch to exclude files from being copied over.
Some caveats so far:
It appears that passing the password inline isn’t possible. Maybe able to get around with ssh keys.
Rsync must be installed on both the master and storage nodes for it to work correctly.
You can use a ssh tunnel to encrypt the data in motion between the master node and storage node if you need additional data protection. This may be of little value if you are transferring data inside your organization.
ref: http://www.tecmint.com/rsync-local-remote-file-synchronization-commands/