This is an old revision of the document!
rsync
rsync
is a powerful tools for syncing files, either locally on the same machine or remotely between different machines. Use man rsync
to read the manual pages to learn more.
For example, if I want to sync (i.e., update all files that have been newly created or modified and remove all files that have been deleted) the ~/active_project
directory on my local workstation up to the server (oak.local in this example), the process can be completed in one command:
<code bash>
rsync -av –delete ~/active_project oak.local:~
</bash>
Alternatively, if I want to copy only the files that have been changed in /scratch/chkuo/spiro1.02
directory on the server (oak.local again) back to my local workstation, I can use:
<code bash>
rsync -av –delete oak.local:/scratch/chkuo/spiro1.02 /scratch/chkuo
</bash>
This better than scp -pr
because rsync
can skip files that already exist in the destination and have not been updated in the source.