- Go to https://www.crashplan.com and download the lastest client
- As root:
# tar xvfz CrashPlan_<version>_Linux.tgz
# cd crashplan-install
# ./install.sh
- Follow the instructions. It's generally fine to use the defaults.
- On most systems you should have access to the GUI via your desktop. If it doesn't show up for some reason you can start it via a terminal or command launcher:
/usr/local/bin/CrashPlanDesktop
- The installer will setup CrashPlan to start automatically when your system boots.
There are several docker images up on DockerHub. Some use only the non-gui backup engine while a few use software such as NoVNC to provide a way to more easily access the GUI.
In the following examples we'll use trapexit's CrashPlan image.
$ docker run -d \
--name=crashplan \
--restart=unless-stopped \
-e NOVNC=true \
-p 5900:5900 \
-p 6080:6080 \
-v /mnt:/mnt \
-v /media:/media \
-v /:/rootfs \
trapexit/crashplan
To connect to the GUI head to http://yourserversip:6080/vnc.html?autoconnect=true&resize=scale
Or if you wish not to use NoVNC
then exclude -e NOVNC=true
and -p 6080:6080
and use your preferred VNC client.
- Open GUI
- Goto: Settings > Backup
- Enable "Backup Sets"
- Create a set for each media type you have (music, movies, photos, etc.) and prioritize as you see fit. If you are using a pooling / union filesystem such as mergerfs then you should be adding the merged paths.
- In the "Frequency and versions" dialog:
Move slider for "New Version" to every day. Unless you are changing files very regularly there isn't a reason to have CrashPlan be more regular. You may also want to consider changing "Remove deleted files" to something other than "never" so if you ever lose a drive you don't inadvertantely restore every single file you ever deleted (or possibly just renamed). - In the "Advanced Settings" dialog:
Data de-duplication: Minimal
Compression: Off
Encryption enabled: (up to you)
Watch file system in real-time: unchecked
Back up open files: unchecked
Given most media is already compressed and it's unlikely you'll have much duplicated data it's best to turn those off to keep from doing unnecessary work. CrashPlan does has some huristics to determine if something makes sense to compress a file but better safe than sorry.
Watching of the filesystem and backing up of open files are turned off since the former can greatly increase resource usage if you have many files and given the data is expected to be mostly "write once / read many" there is little reason to watch them for changes. - Save your changes
There are some limitations with how CrashPlan restores files. It doesn't allow a rsync style "restore only those files missing or changed" behavior. Therefore if using a pooling solution when attempting to restore the now missing files of a dead drive it is difficult to select only those missing files leading to you needing to restore files unnecessarily. To work around this create a new backup set and add the source mounts. It's probably best to set the backup set to the lowest priority so it doesn't interfere with the main backups. CrashPlan's dedup behavior will allow for these drives to be backed up rather quickly.
When a drive dies you can simply replace the drive and instruct CrashPlan to restore files from the dead source drives mount point to the new one. Specifics can be found in the mergerfs & CrashPlan recovery guide.
Currently as the ammount of data backed up increases the slower the deduplication behavior by CrashPlan becomes and at the came time CPU utilization increases. While not ideal, until CrashPlan addresses this issue sufficiently, one can effectively disable data deduplication and speedup the backup procedure.
- Open
/usr/local/crashplan/conf/my.service.xml
- Search for and change each
dataDeDupAutoMaxFileSizeForWan
value found to1
. (0
appears to meaninfinite
) - Save the file.
- Restart the CrashPlan service. (Ubuntu:
sudo service crashplan restart
)
NOTE: Turning off de-duplication is not supported by Code42. https://support.code42.com/CrashPlan/4/Configuring/Unsupported_Changes_To_CrashPlan_De-Duplication_Settings
CrashPlan only backs up one file at a time and will disable backups while restoring. Generally this is not a problem but if you have a very large set of files to back up and have the "Family" subscription you can install multiple instances of CrashPlan on the same machine but have CrashPlan think they are different machines.
Instead of one instance with N backup sets you can setup a few instances each with fewer backup sets. This can be used also to temporarily create a new instance so you can continue backing up with the original and restore data with the temp instance.
The easiest way to install multiple instances is to use Docker as described above. Simply create multiple instances with different names and different host ports.
For example:
$ docker run -d \
--name=crashplan-0 \
--restart=unless-stopped \
-e NOVNC=true \
-p 5900:5900 \
-p 6080:6080 \
-v /mnt:/mnt \
-v /media:/media \
-v /:/rootfs \
trapexit/crashplan
$ docker run -d \
--name=crashplan-1 \
--restart=unless-stopped \
-e NOVNC=true \
-p 5901:5900 \
-p 6081:6080 \
-v /mnt:/mnt \
-v /media:/media \
-v /:/rootfs \
trapexit/crashplan
$ docker run -d \
--name=crashplan-2 \
--restart=unless-stopped \
-e NOVNC=true \
-p 5902:5900 \
-p 6082:6080 \
-v /mnt:/mnt \
-v /media:/media \
-v /:/rootfs \
trapexit/crashplan
Or use the convenience script provided by trapexit.
Remember that each instance takes up a not insignificant amount of memory and CPU so this setup should only be used if you have decent amount of RAM and CPU available or only temporarily when restoring.