September 19th, 2010

Using Dreamhost personal backup from a Windows Computer

Dreamhost offers a personal backup service.  Here are some notes on what I did to get it working from my Microsoft Windows Vista system.

Install All Required Cygwin Modules

First, I installed any missing required modules for cygwin.  At first, I had trouble with ssh, because it complained it couldn't find cygssp-0.  Using cygcheck confirmed the missing library.

~$ cygcheck ssh
Found: C:\cygwin\bin\ssh.exe
Found: C:\cygwin\bin\ssh.exe
Found: C:\cygwin\bin\ssh.exe
cygcheck: track_down: could not find cygssp-0.dll

Once I installed libsso0, rsync was working correctly, but required a password to be entered.

Setup Passwordless Login

Setting up passwordless login was really easy. In an sftp connection, I made a .ssh directory from my home backup server's directory, copied my cygwin's .ssh/ to the new .ssh directory and renamed the file to authorized_keys.

Determining Directories and Files to Copy

I made an exclusion list of files not to backup and named that file excl.txt. Here's what the file contains:


Then I made a shell script called,, to backup only certain directories:

rsync -e ssh -avz --exclude-from=excl.txt /cygdrive/c/Users/David/Documents
rsync -e ssh -avz --exclude-from=excl.txt /cygdrive/c/Users/David/Downloads
rsync -e ssh -avz --exclude-from=excl.txt /cygdrive/c/Users/David/Pictures
rsync -e ssh -avz --exclude-from=excl.txt /cygdrive/c/Users/David/Music
rsync -e ssh -avz --exclude-from=excl.txt --exclude=Pinnacle/ /cygdrive/c/Users/Public/Documents

Note that occasionally I have to exclude some directories that contain massive amounts of video or temporary files. I can't copy my pictures and videos without taking up more than the free 50GB space allocated for backups.

Making Automatic Backups

I ran the shell script from within cygwin, and it worked. But now, how to make Vista run it? I created a DOS Batch script called, backup_to_dreamhost.bat. It contains only one line:

C: && chdir C:\cygwin\home\username && C:\cygwin\bin\bash --login ~/

And from the Windows Task Scheduler, I created a recurring task that runs backup_to_dreamhost.bat.