One important thing to remember about being a nomad is that your stuff can and will break, get stolen or who knows what else. Whatever you do you can’t guarantee that it won’t disappear from your life at some point.
I treat my laptop as a tool (think - a hammer), I need it, I cannot work without it, but I can replace it any time. I’m able to do it because it’s not the only place my data lives, so it’s not irreplaceable.
Imagine for a second that I take a hammer (a real one this time) and destroy your laptop. What will you lose? Do you have a backup?
You may say: “Sure I have it on my hard drive right here..“
Soooo you are carrying both of those things in the same bag?! Smart move indeed.
Ok, so you need a backup there’s no question about it but now what? What makes a good backup? You don’t always have the internet, what then?
There are several things that constitute a good backup:
- It needs to be automatic - so you don’t need to think about it
- It needs to be off-site - so you don’t lose your data when something happens to your bag
- It needs to be TNO - so you don’t need to worry about people seeing pictures of your d**k
One other thing that is important for digital nomads is that it shouldn’t kill the network we are currently using. If you are sitting in some coffee shop don’t expect you will be able to just transfer your 2 GB of photos without killing the network or at least breaking everyone’s Skype connection.
The last thing is that it should be cost efficient - I don’t want to be paying for space or bandwidth I don’t use.
There are two options I was considering:
- TNO backup using duplicity and Amazon S3 storage - unfortunately after 100GB mark it is not cost effective
Up till several days ago this was my preferred option - unfortunately as the amount of data grew I saw an increase in my S3 invoices. Considering that it’s also not so straightforward to set up, I’m using this method solely on the server now.
- TNO backup with one of available cloud backup providers. I’ve used both Carbonite and CrashPlan in the past. Because at the moment I’m using Arch Linux as my main operating system, Carbonite, which doesn’t have a Linux client, is out of the question. I had some good experiences with CrashPlan so I will stick with it for the moment.
If you have an old CrashPlan account like me and want to start fresh, remove your account first and then create a new one - you will get 30 days free backup as per Remove your account page:
If you would like to try CrashPlan again later, you will need to create a new account. You may use this same email address, and are eligible for another free trial.
Let’s set up the CrashPlan app.
Open the CrashPlan site, click on Try It Free link in the top menu and then download the app using the Download button in the free pricing option:
After going through the installation wizard you will be presented with the login screen that you need to fill:
Great we have installed and logged into the CrashPlan app, but we still need to configure it to support TNO and backup specific files. We will start with TNO - go to Settings, then Security tab:
The options we are interested in are in the Archive Encryption section, which are best explained by CrashPlan docs:
Your encryption key is secured in one of three ways, which is based on your security settings:
- Standard: Secured with a salted and hashed version of your account password
- Archive key password: Secured with a salted and hashed version of your archive key password
- Custom key: Encryption key is replaced by a custom key that is never escrowed on a CrashPlan server
To accomplish a total control over our backup keys we would need to use Custom Key option but for me - I’m happy with the keys being encrypted by my archive password (which never leaves my machine) and the encrypted keys being stored on the server.
That being said let’s choose options Archive Key Password
We are presented with a new window asking us to enter the Archive password and security question.
My understanding is that if we don’t enter the security question there’s no way for CrashPlan to recover our password - so it’s also not stored on the server in clear form. This also means if you forget your passwords there’s no way to recover it and you lose all your data - so don’t lose your password.
After we confirm the password we still need to double confirm that we know what we are doing:
Great we have a proper encryption set up. Now we just need to select the folders we want to back up and we are ready to go.
Choose on the Backup tab and click on the Change button in the Files panel.
You will be presented with folder structure tree where you can select check boxes next to the things you want to backup. After you complete this step it should look similar to this:
Looks like I have 156 GB to backup, well.. it will take a while, so let’s do one more thing.
As you can see my dev folder is taking 4 GB which I’m sure I can minimize ignoring some folders that I can download from the Internet.
In my case those are _node_modules_ (Node.js packages), _bower_components_ (Bower packages) and packages (NuGet packages).
Go to Settings > Backup tab and click on Configure… next to Filename exclusions
Fill the paths you want to ignore. In my case I’ve used a Regex expressions which basically mean that it should ignore anything that contains mentioned folder names in their full path (.* - matches any string of characters)
My backup looks a little leaner now :)
Almost there - last setting, I promise - we will set the QoS of the backup traffic to low so if the network we are on supports it, it won’t interfere with the VoIP traffic. We can do it on the Settings > Network tab:
Now it’s time to wait till nobody is using the net and click the Start Backup button on the main screen to start the backup :) Transferring those 154 GB will take time so I suggest to leave your laptop running few nights in a row.