Dreamhost backups: the appropriate incantation

Recently, and without much fanfare, Dreamhost introduced backup users. Each account gets a single backup user, whose function is to provide a remote backup. Dreamhost’s TOS states that regular user content must be served on the web: it is not intended to be a backup service. However, clearly the need for remote backups exists, and so they now allow 50GB (plus more at the rate of $0.10 per GB per month) of backup space for each account, accessed through the backup user.

So I’m backing up my email remotely. Just the job for a shell script. First things first: what do I need to backup? Well I use Evolution for email, and first I need to stop things from changing while I backup, and make sure I’m starting from the right place:

gconftool-2 --shutdown
evolution --force-shutdown
cd

Next, I need to backup three directories, and encrypt them of course. (The recipient here is changed for security purposes.)

tar -cz .gconf/apps/evolution .gnome2_private/Evolution .evolution 
    | gpg -e -r me@example.com -o mail.tar.gz.gpg

Now of course I need to upload the backup to the dreamhost backup server via SFTP (Once again the username here is changed for security purposes.):

sftp -b /dev/stdin mybackupusername@example.com <<EOF
put mail.tar.gz.gpg
bye
EOF

And finally remove the intermediate file:

rm mail.tar.gz.gpg

Having previously uploaded my authorized ssh key to avoid having to type a password, of course, this process is now automated. The only fly in the ointment is that Dreamhost backup users only support FTP or SFTP; ideally they’d have support for rsync.

One Response to “Dreamhost backups: the appropriate incantation”

  1. greatbiggary says:

    Excellent post. Thanks. I might just do this and add about $10-$15/mo. of extra space. Then I could actually off-site backup pretty much everything that’s really important to me. I appreciate you doing the shell legwork for me.

    Also, I almost posted this in your LJ feed again 🙁

Leave a Reply