Over the years, I have had many hard drives crash, and many more clean installs. Solving the file sync problem is often best accomplished in conjunction with backing up those files.
Until recently, I still basically used the LAN solution: Keep two copies of my files on different computers, and periodically (or sporadically) copy one set of files over the other. Of course, if you do it this way, you can never change your directory structure, or you have duplicates, and when you try to clean up the duplicates, you lose files.
I also back up important files weekly to an external drive, and I keep four weekly backups, plus six monthly backups. This process is automated thanks to a customized version of a backup script and some cron jobs on my Linux box. This part hasn't changed.
Recently, however, I discovered a handy little service called Dropbox. Dropbox will back up your files, keep them in sync on all of your computers (2 GB for free, pay for more), and enable you to share them with other users if you choose. I've tried Windows Live Mesh, and I still might use that for remote login, but Dropbox gives you more free storage space, and it is able to sync files from one computer to another over a local LAN (which saves ISP bandwidth). Also, Dropbox supports Linux, which is a must for me.
[Note: if you want to sign up, use my Dropbox referral link an we'll both get an extra 250MB of free space.]
Dropbox enables some pretty cool syncing tricks if you're willing to roll up your sleeves at the command line. Here are a few things I'm doing:
- The Linux client for Dropbox treats symlinks to folders as if they were just folders. Initially, I didn't like this, because it meant I couldn't just plop my existing file structure in place (because it contained symlinks to large data sets in other locations). Also, I didn't want certain directories synced. My solution was to simply link to the things I want to sync from my Dropbox folder. That way, I can structure my directories any way I want, and cherry-pick the things I want to sync from that structure.
- I use the Pidgin client for all my Instant Messaging accounts on Windows and Linux. Pidgin logs all of my conversations, and saves them to a local folder. Whenever someone IMs me or I open a chat window to IM someone else, the chat window is automatically populated with the latest conversation with that person from the chat log history. In order to synchronize these logs between computers I created a symlink in the Dropbox folder to the logs folder on my Linux box. In order to get my Windows pidgin accounts to use this folder, I created a folder "Junction" within the Pidgin AppData folder (.purple) using the command: "mklink /J".
- I use DVRMSToolbox along with ShowAnalyzer to automatically find and skip commercials in Windows Media Center. ShowAnalyzer is run on our living room media PC, and that is where the files are stored that tell the DTBAddin component where the commercials are within a given recorded TV file. (If you're interested in setting this up yourself, see this guide.) Normally, I would have to periodically copy new files in the CommercialsXml folder from C:\Public\Users\DvrmsToolbox on the media PC to my laptop in order for my laptop to know when to skip a commercial. Now, the files are synced automatically, and I don't have to think about them. I just open my laptop, fire up Media Center, and select the show I want to watch. It's a pretty sweet setup.