Using rsync for Media Backups Between Windows and Linux

Elsewhere you can find my post about using Clonezilla to do system backups. I like backing up in this way because I can restore to a new drive without actually having to install anything. I like the sense of restoring a complete snapshot in time.

Unfortunately backing up takes much longer when there’s a lot of digital media on the drive. And I don’t edit my media very often, so it seems wasteful to include it in every backup.

It occurred to me to move my media to the backup drive (where I store backup images), and then sync media to my laptop. Then, it’s also usable on my laptop as well. A really efficient syncing tool is rsync. It only transfers file changes, for much faster syncing. Since I only edit media on the server, then I can just sync down to the laptop – it doesn’t need to be 2-way.

Here’s the process:

  1. The server runs Windows 7 64-bit. Download and install from :
    • cwRsync_4.0.5_Installer.exe (probably unnecessary)
    • cwRsyncServer_4.0.6_Installer.exe
  2. Create firewall rules for both TCP and UDP port 873. I never have successfully created a generic rule for the server binary, so I gave up and just created port rules. I named the rules “cwRsync TCP” and “cwRsync UDP”, respectively.
  3. In the cwRsyncServer Start Menu folder is a shortcut to edit rsyncd.conf (be sure to execute as Administrator). Restart the rsync service (“RsyncServer”) after any edits. Since I only need to pull down changes to my laptop, not push up changes, I only configured read-only access. Here’s a copy of my rsyncd.conf file:

    use chroot = false
    strict modes = false
    hosts allow = *
    log file = rsyncd.log
    uid = 0
    gid = 0
    # Module definitions
    # Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
    path = /cygdrive/e/mp3
    read only = true
    transfer logging = yes

    path = /cygdrive/e/video
    read only = false
    transfer logging = yes

  4. Now, pull down the initial mirror. My laptop runs Ubuntu 10.04 64-bit (lucid), so naturally rsync is already installed. At first it failed with SSH timeout on port 22. After a closer look at the rsync manpage, I found that there are 2 primary ways to specify the rsync server, to either tunnel through SSH or connect directly. Since I only plan to sync at home, I can just connect directly. Execute from within ~/data/rsync (where ~/data/rsync/mp3 also exists):
    • rsync –verbose –progress –recursive rsync:// mp3
  5. Be aware, this first sync will take longest. I have 30-40 GB of MP3s. Over wireless this would take hours. At least future syncs will only transfer file changes, and be quicker. It occurred to me to transfer over wired instead of wireless, and it made a tremendous difference!
  6. Now I can continue making iTunes purchases and editing ID3 tags via iTunes, and letting iTunes manage the files. Next time I rsync, my laptop will match.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: