Using rsync

rsync, coupled with the ssh "shell", is capable of providing file transfers to our servers. rsync is a great way to intelligently synchronize files between computer systems.

Here is an example. It copies the contents of ~/Maildir from a different server to ssh.hcoop.net, assuming that it is run from the other server. It will overwrite any existing files in your HCoop AFS space which are also present on the local machine, but it will not delete files that have disappeared.

rsync -azr -e ssh --no-g --progress --verbose ~/Maildir/ ssh.hcoop.net:Maildir/

Note the --no-g switch. This is important: AFS has no need for groups, since it has ACLs, and will reject attempts to change the group permission by non-admin users.

Be very careful to include the trailing slash on both the source and destination paths. rsync is very picky about that.

rsync has many different options available -- consult its man page for further details.