Wednesday, February 9, 2011 12:29:12 AM
Download the SpiderOak client (proprietary) for Windows, Mac, Linux, or mobile devices. Install in the usual manner for your platform. Mandriva Linux is not officially supported but the RPM package works fine.
Disclosure: The download link above contains a referral code. By using it, you will receive an additional gigabyte of storage at no cost, and so will my girlfriend, who is then reminded of what an awesome boyfriend she's got. So we all win.
First launch of the application takes you through a self-explanatory set-up wizard. The default settings are fine for getting started, but I like to go to Preferences and tweak things. Non-default settings I like are:
- Interface - When closing always minimize.
- Interface - Launch minimized.
- Interface - Launch at startup.
- Interface - Ask for password at startup: As appropriate. Being paranoid, I select yes unless the computer is not portable and is kept in a secure area.
- Interface - Show splash screen: No.
- Backup - Don't backup files larger than 50 MB.
- Backup - Don't backup files older than X: TODO: Determine what this does. Does it remove old historical versions, or prevent the archiving of older historical versions?
- Backup - Exclude files and folders: As appropriate; refer to the SpiderOak exclusion reference. I find it helpful to document for future reference appropriate exclusions for the applications and platforms I use as I discover them.
- Backup - Enable preview generation.
- General - Location for downloaded folders/files: As desired.
Go to Back Up and select the directories and files you want to back up. I enable the "show hidden files" toggle first. Click on "Save".
You can synchronize directories between devices, or even between locations on the same device (for example, an external memory device and your hard disk). For illustration purposes I'll consider the simple case of synchronizing a directory between two computers, which I will uncreatively call Source and Target.
On Source, open the SpiderOak client and back up the directory to be synchronized. On Target, create an an empty directory to contain the synchronized data on the target computer, and in the SpiderOak client mark that directory for backup. Finally, in the SpiderOak client on either Source or Target, go to Sync, press New, and follow the instructions.
Synchronization is very simple to set up, but there are a few cases that merit special consideration: excluding files or subdirectories from synchronization, cross platform synchronization, and synchronizing an individual file.
One of SpiderOak's strengths is that it retains historical versions of files. This implies that your used space will increase over time as historical versions accumulate, and you will want to periodically monitor this. The SpiderOak client can generate useful statistics for this purpose. Be aware that in the stats output, directories are reported non-recursively. So (for example) the reported size of directory /foo/ does not include the size of subdirectory /foo/bar/.
RESTORING FILES FROM BACKUP
Using the desktop client
TODO: Finish this section. Use the desktop client whenever possible; the web interface is less secure.
Using the web interface
TIPS AND TRICKS
SpiderOak's per-user files are located at ~/.SpiderOak/ on Linux, and %drive%\Users\USER\AppData\Roaming\SpiderOak\ on Windows Vista and later. Recall that %drive%\Users\USER\AppData\ is a hidden directory.
It is preferable to sign in to the SpiderOak user forums via the desktop client (right click on taskbar icon, then Help - User Forums). This fails for me if the network is being heavily used; temporarily throttling all other uses of the Internet usually solves the issue.
Linux users can run SpiderOak on startup at low priority. Find where SpiderOak is being called at login and change the command from SpiderOak to nice SpiderOak. When run this way, SpiderOak never slows down my box.
On Linux, SpiderOak runs with the permissions of the user that spawned it (see ps u | grep Spider). This implies that if that user doesn't have read permission for a given file, SpiderOak can't back it up. To work around this, set that file's read permission to include the user running SpiderOak. For example, I wanted to back up /boot/grub/menu.lst, which is owned by root and has default permissions of 600. I created the group "backup" and added myself as a member of the group. I then assigned menu.lst to the backup group and changed its permissions to 640.
If you fear that Windows users will be tempted to monkey with the settings and break things if SpiderOak calls too much attention to itself, consider concealing it. Then reboot the machine and confirm that SpiderOak starts on login and optionally does not call undue attention to itself.
KEEPING UP TO DATE
On supported platforms, SpiderOak should keep itself up to date using your operating system's usual methods. For Debian (and perhaps other Linux distributions) SpiderOak maintains their own repository which is set up in your package manager when the client is installed.
On unsupported platforms, keeping up to date becomes your responsibility. Follow the release notes feed and manually upgrade as stable versions are released. Note that the release notes feed will mention new beta versions, but the download page by default will offer the latest stable version. For something as critical as backup, most people should use stable versions, not betas. But if you want to slide down the cutting edge, get your betas here.
If you're just testing SpiderOak, then you probably have an existing backup solution in place. You will want to exclude SpiderOak's system directory from it, and exclude your existing solution's system directory from SpiderOak.
To perform a clean reinstall of SpiderOak, uninstall the client, delete the SpiderOak system directory, and reinstall the client. On Windows, rebooting the computer prior to reinstallation would perhaps be wise.
TODO: Write a separate article describing sync-based backup solutions generally and discuss there what to backup and what to exclude.
There's a lot more you can do with SpiderOak, but this covers my needs and experiences.
Review and walkthrough of SpiderOak
SpiderOak video tutorials
If SpiderOak does not meet your needs, there are alternatives