CrashPlan: Multi-platform Onsite, Offsite And Cloud Backup Solution

Introduction

CrashPlan is an open source backup software developed by Code42, an American software company. Code42 was founded as an IT consultancy company, but finally ended up focusing on online storage solutions, and released the very first version of CrashPlan on 2007. CrashPlan is an ideal backup solution for small medium to large enterprise organizations. It can backup data between remote systems, local systems, and external devices and CrashPlan Cloud.

Features

CrashPlan has the following list of features.

  • It can backup data to remote servers, local systems, and external devices like thumb drive, USB hdd etc.
  • The data will be encrypted using 448bit encryption, and also you can protect the backup data with password.
  • It offers native mobile apps, so that you can access your digital contents anywhere using your Mobile devices.
  • CrashPlan consumes minimal CPU usage, and the CrashPlan service will be running on the background, so you can do your regular work on your computer without any interruption.
  • If your backup is interrupted for some reason, the process will be automatically resumed after your Computer available.
  • If your external device is full or you want to attach another hard drive, you don’t have to run the backup from the beginning. It will start backup process where you left it.
  • You can define what files go where, and how often. So that you can backup important files to a particular and preferred location.
  • You can restore the old versions of your files/folders. CrashPlan allows you to go back in time to a precise version of a file or folder. There’s no limit to how many versions you can back up to CrashPlan Central
  • CrashPlan will notify you the backup status via Email, and Twitter alerts. So you can keep an eye on your data all time.
  • CrashPlan Central Cloud offers deleted file protection, so you can get your data back even if your data is deleted from the CrashPlan Cloud.
  • The notable service of the CrashPlan is seed drive. If you have large amount of data, and want to backup them immediately, you can get a seed drive drive with instructions for backing up your files locally. Simply return the fully-loaded seed drive and CrashPlan support team will jump start your backup for you.
  • CrashPlan offers Restore-to-door priority recovery service. using this service, you will get a hard drive with fully loaded data, so that you can restore all your data locally in a few hours.
  • CrashPlan will back up your most recent files first, then makes sure you have a full backup at one destination as soon as possible.

Please note that all above features will not be available on free version. CrashPlan is available as free for personal use and paid versions, but the free version is feature limited. If you want to use all features, you should subscribe the paid versions. You can find the detailed features and plan details of CrashPlan here.

Installation

For this tutorial, I am going to use CrashPlan Free version. Download CrashPlan latest free version from here. After downloading the file, extract it to your preferred location. Then, go to your extracted folder and run the following command to install CrsahPlan.

cd CrashPlan-install/
sudo ./install.sh

During the installation, you’ll be asked couple of questions. Just go with the default choices, its enough for the basic testing.

Welcome to the CrashPlan Installer.

Press enter to continue with installation.

Validating environment...
detected root permissions
49581 blocks

You must review and agree to the EULA before installation.

Press enter to read the EULA.
CODE 42 END USER LICENSE AND SUBSCRIPTION AGREEMENT (CRASHPLAN/CRASHPLAN+)
Effective Date: January 16, 2013
====================================================================

 IMPORTANT:
 PLEASE READ THIS END USER LICENSE AND SUBSCRIPTION AGREEMENT
 CAREFULLY. YOU WILL HAVE ACCEPTED THIS END USER LICENSE AND SUBSCRIPTION
 AGREEMENT IF YOU: 1) DOWNLOAD, INSTALL, ACTIVATE, SUBSCRIBE TO OR USE CODE 42
 PRODUCTS AND SERVICES; OR 2) CLICK THE �I ACCEPT� BUTTON ASSOCIATED WITH THIS
 END USER LICENSE AND SUBSCRIPTION AGREEMENT (�AGREEMENT�).

 This Agreement is a legal agreement between you, the customer, and Code 42
 Software, a Delaware corporation (�Code 42�) regarding the license, installation
 and subscription to use Code 42's CrashPlan, CrashPlan+, CrashPlan+ Unlimited,
 CrashPlan+ Family Software and/or the Public Cloud (hereinafter to each of, and
 collectively to, the �Code 42 Products and Services�). In this Agreement, �you
 a
 nd �your� refer to you, the customer, and his or her agents, and �we�, �us� and
 �our� refer collectively to Code 42.

 THE CODE 42 PRODUCTS ARE FOR PERSONAL/NON-COMMERCIAL USE ONLY. IF YOU WISH TO
 LICENSE AND SUBSCRIBE TO CODE 42 PRODUCTS AND SERVICES FOR COMMERCIAL OR
 BUSINESS PURPOSES, PLEASE REFER TO THE CODE 42 PRO AND PROe PRODUCTS FOUND
 http://www.crashplan.com/business/compare.html

 Do you accept and agree to be bound by the EULA? (yes/no) yes

 What directory do you wish to install CrashPlan to? [/usr/local/crashplan]
 /usr/local/crashplan does not exist.  Create /usr/local/crashplan? (y/n) [y] y

 What directory do you wish to link the CrashPlan executable to? [/usr/local/bin] ## Press Enter

 What directory do you wish to store backups in? [/usr/local/var/crashplan]
 /usr/local/var/crashplan does not exist.  Create /usr/local/var/crashplan? (y/n) [y] ## Press Enter

 What directory contains your SYSV init scripts? [/etc/init.d] ## Press Enter
 What directory contains your runlevel init links? [/etc/rc2.d] ## Press Enter

 Your selections:
 CrashPlan will install to: /usr/local/crashplan
 And put links to binaries in: /usr/local/bin
 And store datas in: /usr/local/var/crashplan
 Your init.d dir is: /etc/init.d
 Your current runlevel directory is: /etc/rc2.d

 Is this correct? (y/n) [y] y

 Unpacking /./CrashPlan_3.5.3.cpi ...
 49581 blocks

 Your Linux system is currently configured to watch 8192 files in real time.
 We recommend using a larger value; see the CrashPlan support site for details

 Starting CrashPlan Engine ... Using standard startup
 OK

 CrashPlan has been installed and the Service has been started automatically.

 Press Enter to complete installation.

 Important directories:
 Installation:
 /usr/local/crashplan
 Logs:
 /usr/local/crashplan/log
 Default archive location:
 /usr/local/var/crashplan

 Start Scripts:
 sudo /usr/local/crashplan/bin/CrashPlanEngine start|stop
 /usr/local/crashplan/bin/CrashPlanDesktop

 You can run the CrashPlan Desktop UI locally as your own user or connect
 a remote Desktop UI to this Service via port-forwarding and manage it
 remotely. Instructions for remote management are in the readme files
 placed in your installation directory:
 /usr/local/crashplan/doc

 Would you like to start CrashPlanDesktop? (y/n) [y] ## Press Enter

 To start the Desktop UI:
 /usr/local/bin/CrashPlanDesktop

 Installation is complete. Thank you for installing CrashPlan for Linux.

Launch CrashPlan Application

CreashPlan will be launched automatically after the installation. But for some reasons, It doesn’t open automatically for me. I searched on the CrashPlan forum, and found the following solution.

1. Edit the run.conf file in your CrashPlan app installation directory. This file will be found under /usr/local/crashplan/bin/ directory.

sudo nano /usr/local/crashplan/bin/run.conf

2. Navigate to the end of the GUI_JAVA_OPTS section, and add this line, inside the quotes:

-Dorg.eclipse.swt.browser.DefaultType=mozilla

Example:

[...]
GUI_JAVA_OPTS="-Dfile.encoding=UTF-8 -Dapp=CrashPlanDesktop -DappBaseName=CrashPlan -Xms20m -Xmx512m -Djava.net.preferIPv4Stack=true -Dsun.net.inetaddr.ttl=300 -Dnetworkaddress.cache.ttl=300 -Dsun.net.inetaddr.negative.ttl=0 -Dnetworkaddress.cache.negative.ttl=0 -Dc42.native.md5.enabled=false -Dorg.eclipse.swt.browser.DefaultType=mozilla"

Save the file. Now, CrashPlan app should launch properly.

Important Note: If you uninstall and reinstall the CrashPlan app, or the app automatically upgrades to a new version, the run.conf file is overwritten, causing this issue to reoccur. Update the run.conf file as described above to correct the issue.

Now, open your CrashPlan client again. It should open without any problem.

You’ll be asked to create a new account(It’s free). Enter the appropriate details, and click the Create Account button.

CrashPlan _013

Now, you’ll be redirected to the CrashPlan main interface.

CrashPlan _014

Though it’s free version, CrashPlan Central Cloud feature will work up to 31 days from the day of installation. After 31 days, you should subscribe the paid versions.

Usage

CrashPlan usage is as easy as installation. CrashPlan will backup your home folder by default. You can change it to different location, if you want to. For testing purpose, I am going to change to backup the /home/sk/test/ folder.

Change the location of the files/folders that you want to backup in the Files section.

CrashPlan _015

And, then define where you want to store the backup data in the destination location. The destination location may be a local folder, local computer, another computer or CrashPlan Central Cloud. Be mindful that you have to purchase CrashPlan Central cloud service after 31 days from the day of installation.

CrashPlan _016

Here, I wanted to store the backup in /home/sk/mybackup folder.

CrashPlan _017

Now, you’re good to go. Click Start Backup button to take backup of the Test folder,

Depending upon the size of the folder, the backup process will take a while. CrashPlan will automatically synchronize the files/folders to the destination location every 15 minutes.

Likewise, you can backup data to any remote server, CrashPlan Central or an External drive. Make sure your Friend computer or remote computer have CrashPlan installed.

To restore the data, navigate to Restore section on the left pane of the CrashPlan main interface. Select the files you want to backup, and click Restore.

CrashPlan _020

After restoring process complete, the data will be restored to your Desktop.

Uninstall

To uninstall CrashPlan desktop client, run the uninstaller script from the CrashPlan directory.

cd Downloads/CrashPlan-install/
sudo ./uninstall.sh -i /usr/local/crashplan

Sample output:

============================================================================
Software Removal - WARNING WARNING WARNING
============================================================================
This portion of the uninstall will remove CrashPlan software and configuration
information.  Backup archives will not be touched.  Automatic backup will cease.

Are you sure you wish to continue? (yes/no) [no] yes ## Type yes and Press Enter

Uninstalling CrashPlan ... 
Stopping CrashPlan Engine ... OK
removed ‘/usr/local/crashplan/bin/CrashPlanEngine’
removed ‘/usr/local/crashplan/bin/restartLinux.sh’
removed ‘/usr/local/crashplan/bin/vars.sh’
removed ‘/usr/local/crashplan/bin/run.conf’
removed ‘/usr/local/crashplan/bin/.keepme’
removed ‘/usr/local/crashplan/bin/CrashPlanDesktop’
removed directory: ‘/usr/local/crashplan/bin’
removed ‘/usr/local/crashplan/cache/cpss1’
removed ‘/usr/local/crashplan/cache/cpgft1i’
removed ‘/usr/local/crashplan/cache/cpft1_643047184182280449x’
removed ‘/usr/local/crashplan/cache/cpgft1’
removed ‘/usr/local/crashplan/cache/cpgft1x’
removed ‘/usr/local/crashplan/cache/cpft1_643047184182280449i’
removed ‘/usr/local/crashplan/cache/cpft1_643047184182280449’
removed ‘/usr/local/crashplan/cache/643047184182280449/cpfmf’
removed ‘/usr/local/crashplan/cache/643047184182280449/cpfmfp’
removed ‘/usr/local/crashplan/cache/643047184182280449/cpfmfs’
removed ‘/usr/local/crashplan/cache/643047184182280449/cphdf’
removed ‘/usr/local/crashplan/cache/643047184182280449/cpfmfx’
removed ‘/usr/local/crashplan/cache/643047184182280449/cp.properties’
removed ‘/usr/local/crashplan/cache/643047184182280449/cpbf0000000000000000000/cpbmf’
removed directory: ‘/usr/local/crashplan/cache/643047184182280449/cpbf0000000000000000000’
removed ‘/usr/local/crashplan/cache/643047184182280449/cptl’
removed ‘/usr/local/crashplan/cache/643047184182280449/cpbmf.blc’
removed ‘/usr/local/crashplan/cache/643047184182280449/.4to5ind’
removed directory: ‘/usr/local/crashplan/cache/643047184182280449’
removed directory: ‘/usr/local/crashplan/cache’
removed ‘/usr/local/crashplan/conf/upgradeui.log.properties’
removed ‘/usr/local/crashplan/conf/service.model’
removed ‘/usr/local/crashplan/conf/my.service.xml’
removed ‘/usr/local/crashplan/conf/ui.log.properties’
removed ‘/usr/local/crashplan/conf/upgradeui.properties’
removed ‘/usr/local/crashplan/conf/ui.properties’
removed ‘/usr/local/crashplan/conf/custom_sample.properties’
removed ‘/usr/local/crashplan/conf/service.login’
removed ‘/usr/local/crashplan/conf/service.log.properties’
removed ‘/usr/local/crashplan/conf/ui_root.properties’
removed ‘/usr/local/crashplan/conf/default.service.xml’
removed directory: ‘/usr/local/crashplan/conf’
removed ‘/usr/local/crashplan/doc/readme.pdf’
removed ‘/usr/local/crashplan/doc/readme.html’
removed ‘/usr/local/crashplan/doc/readme.odt’
removed ‘/usr/local/crashplan/doc/readme.rtf’
removed directory: ‘/usr/local/crashplan/doc’
removed ‘/usr/local/crashplan/hs_err_pid10123.log’
removed ‘/usr/local/crashplan/hs_err_pid9536.log’
removed ‘/usr/local/crashplan/install.vars’
removed ‘/usr/local/crashplan/jniwrap.lic’
removed ‘/usr/local/crashplan/lang/txt_es.properties’
removed ‘/usr/local/crashplan/lang/txt.properties’
removed ‘/usr/local/crashplan/lang/txt_sv.properties’
removed ‘/usr/local/crashplan/lang/txt_en.properties’
removed ‘/usr/local/crashplan/lang/txt_no.properties’
removed ‘/usr/local/crashplan/lang/txt_pt_BR.properties’
removed ‘/usr/local/crashplan/lang/txt_nl.properties’
removed ‘/usr/local/crashplan/lang/txt_tr.properties’
removed ‘/usr/local/crashplan/lang/txt_hu.properties’
removed ‘/usr/local/crashplan/lang/txt_es_ES.properties’
removed ‘/usr/local/crashplan/lang/txt_de.properties’
removed ‘/usr/local/crashplan/lang/txt_fr.properties’
removed ‘/usr/local/crashplan/lang/txt_pt.properties’
removed ‘/usr/local/crashplan/lang/txt_es_MX.properties’
removed ‘/usr/local/crashplan/lang/txt_zh_TW.properties’
removed ‘/usr/local/crashplan/lang/txt_ja.properties’
removed ‘/usr/local/crashplan/lang/txt_fi.properties’
removed ‘/usr/local/crashplan/lang/txt_es_AR.properties’
removed ‘/usr/local/crashplan/lang/txt_it.properties’
removed ‘/usr/local/crashplan/lang/txt_ca.properties’
removed ‘/usr/local/crashplan/lang/txt_zh.properties’
removed ‘/usr/local/crashplan/lang/txt_th.properties’
removed ‘/usr/local/crashplan/lang/txt_da.properties’
removed ‘/usr/local/crashplan/lang/txt_pl.properties’
removed directory: ‘/usr/local/crashplan/lang’
removed ‘/usr/local/crashplan/lib/json-20070829.jar’
removed ‘/usr/local/crashplan/lib/miglayout15-swt.jar’
removed ‘/usr/local/crashplan/lib/org.eclipse.osgi_3.8.1.v20120830-144521.jar’
removed ‘/usr/local/crashplan/lib/com.jniwrapper.macpack.jar’
removed ‘/usr/local/crashplan/lib/slf4j-log4j12-1.6.1.jar’
removed ‘/usr/local/crashplan/lib/log4j-1.2.16.jar’
removed ‘/usr/local/crashplan/lib/org.eclipse.equinox.common_3.6.100.v20120522-1841.jar’
removed ‘/usr/local/crashplan/lib/c42_protolib.jar’
removed ‘/usr/local/crashplan/lib/jna-3.2.5.jar’
removed ‘/usr/local/crashplan/lib/org.eclipse.jface_3.8.101.v20120817-083647.jar’
removed ‘/usr/local/crashplan/lib/protobuf-java-2.4.1.jar’
removed ‘/usr/local/crashplan/lib/org.eclipse.core.commands_3.6.1.v20120814-150512.jar’
removed ‘/usr/local/crashplan/lib/swt-64.jar’
removed ‘/usr/local/crashplan/lib/com.backup42.desktop.jar’
removed ‘/usr/local/crashplan/lib/json-lib-2.4.jar’
removed ‘/usr/local/crashplan/lib/slf4j-api-1.6.1.jar’
removed ‘/usr/local/crashplan/lib/twitter4j.jar’
removed ‘/usr/local/crashplan/lib/sbbi-upnplib-1.0.4.jar’
removed ‘/usr/local/crashplan/lib/commons-jxpath-1.1.jar’
removed ‘/usr/local/crashplan/lib/commons-collections-3.2.1-mini.jar’
removed ‘/usr/local/crashplan/lib/swt.jar’
removed ‘/usr/local/crashplan/lib/com.jniwrapper.winpack.jar’
removed ‘/usr/local/crashplan/lib/rhino-1.7r3.jar’
removed ‘/usr/local/crashplan/lib/com.jniwrapper.jniwrap.jar’
removed ‘/usr/local/crashplan/lib/trove-3.0.2.jar’
removed ‘/usr/local/crashplan/lib/jtux.jar’
removed directory: ‘/usr/local/crashplan/lib’
removed ‘/usr/local/crashplan/libjniwrap64.so’
removed ‘/usr/local/crashplan/libjniwrap.so’
removed ‘/usr/local/crashplan/libjtux64.so’
removed ‘/usr/local/crashplan/libjtux.so’
removed ‘/usr/local/crashplan/libmd564.so’
removed ‘/usr/local/crashplan/libmd5.so’
removed ‘/usr/local/crashplan/log/engine_output.log’
removed ‘/usr/local/crashplan/log/restore_files.log.0’
removed ‘/usr/local/crashplan/log/history.log.0’
removed ‘/usr/local/crashplan/log/backup_files.log.0’
removed ‘/usr/local/crashplan/log/service.log.0’
removed ‘/usr/local/crashplan/log/ui_error.log’
removed ‘/usr/local/crashplan/log/app.log’
removed ‘/usr/local/crashplan/log/ui_root.log.0’
removed ‘/usr/local/crashplan/log/ui_sk.log.0’
removed ‘/usr/local/crashplan/log/ui_output.log’
removed ‘/usr/local/crashplan/log/engine_error.log’
removed directory: ‘/usr/local/crashplan/log’
removed ‘/usr/local/crashplan/skin/icon_app_128x128.png’
removed ‘/usr/local/crashplan/skin/icon_app_64x64.png’
removed ‘/usr/local/crashplan/skin/icon_app_16x16.png’
removed ‘/usr/local/crashplan/skin/skin.properties’
removed ‘/usr/local/crashplan/skin/splash_default.png’
removed ‘/usr/local/crashplan/skin/icon_app_32x32.png’
removed ‘/usr/local/crashplan/skin/splash_plus.png’
removed ‘/usr/local/crashplan/skin/window_bg.jpg’
removed ‘/usr/local/crashplan/skin/logo_main.png’
removed directory: ‘/usr/local/crashplan/skin’
removed ‘/usr/local/crashplan/upgrade/startLinux.sh’
removed ‘/usr/local/crashplan/upgrade/startSolaris.sh’
removed ‘/usr/local/crashplan/upgrade/startDesktop.bat’
removed ‘/usr/local/crashplan/upgrade/startDesktopLinux.sh’
removed ‘/usr/local/crashplan/upgrade/start.sh’
removed directory: ‘/usr/local/crashplan/upgrade/UpgradeUI’
removed ‘/usr/local/crashplan/upgrade/startFirst.sh’
removed ‘/usr/local/crashplan/upgrade/startDesktopSolaris.sh’
removed ‘/usr/local/crashplan/upgrade/start.bat’
removed ‘/usr/local/crashplan/upgrade/startDesktop.sh’
removed directory: ‘/usr/local/crashplan/upgrade’
CrashPlan uninstalled.


The backup data was NOT removed.  It is located in /usr/local/var/crashplan.
If you reinstall CrashPlan, you will need to note that as the location
where you would like to store your backups if you wish to start where
you left off.

CrashPlan uninstallation is complete.

When uninstalling CrashPlan, you will have the option of removing the application, but preserving the backup data (/usr/local/var/crasplan) you are storing for others for use by a future installation of CrashPlan.

If you want to completely delete the backup data, delete the following directory as well.

sudo rm -fr /usr/local/var/crashplan/

For me, CrashPlan just worked fine, and did the job as it advertised. Give it a try, you won’t be disappointed.

Cheers!