I have 2 computers which mirror the same data. Is rsync the best tool I have to keep these 2 machines in sync? One is a desktop, the other is a laptop, both of which run linux.
How much data do you need to sync?
If it all in different directories or all in, oh say ~/documents/?
rsync will work, but there may be options that give you other advantages.
Dropbox.com is one, provides 2 gig free storage. http://www.dropbox.com/referrals/NTExNTI1Mjk This link will get you an extra 250 megs free if Dropbox looks like a good solution for you.
SpiderOak is another, same thing, 2 gig free, pay after that (OpenSUSE users get a discount)
Theres also Unison. http://www.cis.upenn.edu/~bcpierce/unison/ Which does a great syncing job.
Almost anything will work for this, its just gonna be a matter what works best, whats the fastest, what gives you stuff like the chocolates on the pillows at a hotel as a nice little bonus.
Complementing Alpha1's answer, if the data is bigger than 2GB and you want to do it without dropbox-like services, Unison is the solution for you.
Unison is the only reliable tool that I know for this task. It will do the right thing even in corner cases, even if your comptuer crashes.
Once it's set, Unison is not only robust but fast!
Unison takes like 3 seconds to tell you that nothing changed in each mirror of your 200GB stored inside an ext4 filesystem. If you have ecryptfs on the top of ext4, it takes about 3 minutes. If something changed, it will spend some time analysing the changed files, so the time is proportional to the change.
Don't mount your laptop remotely from the desktop or vice-versa. Tell Unison to reach the other root via ssh, so it can see the true filesystem where the files have been since the last sync and do its fast check. Both computers should have the same version of Unison.
If they're running Ubuntu, why not use Ubuntu One? It's design specifically to do exactly what you want to do, and supports a few other cool use cases too.