Many people don’t understand how easily you can loose allot of data very fast. It usualy happens fast without any warning and then you are out of all you photos or other stuff that’s important.
Most people thing that doing a copy of your data to another harddrive is enough to make the data safe. There are two errors doing it this way
- To be safe you need to keep the copy in another location that the original, but then it’s the problem of moving it back and fort between home and the other location = usually happens to seldom to be a real backup if not static data
- if the original data is damaged you will overwrite the correct backupdata with the damaged.
The best way of guarantee the safety of you data is to use a program that stores versions of the file i.e a backupprogram. Then if you discover that a file was damaged 1 month ago you could fetch the version stored just before i was damaged.
The second thing is to keep the backup stored physically on another place than the original. I case of fire or theft that original or the backup would be safe.
I have been testing a product called Crashplan, it comes i two flavors
- free, you need a friend with a computer to store you backup on or a 2nd computer placed somewhere else.
- payed, store you data in the companies cloud storage
I’ll started with the free but later decided to to pay for storage, i have a family unlimited which gives me backup on up to 10 computers with unlimited storage. I have a monthly subscription which costs atm $12/mo. You get a discount for paying for longer periods in advance (you can still cancel and get a refund). For a single computer with max 10 Gb storage you pay $2.5/mo or $2.08/mo if you pay for a year.
You register on the site to get a log in to the program, this is free. You also get a free 30-dag fully working (10 Gb cloud storage) version.
The program is a java program so it runs on most platforms. There are some special changes you can do to get it working better on ubuntu.
Running it on Ubuntu Server w/o X
If you are running the server version of Ubuntu you don’t have any X to run the client on. There are 2 ways of solving this, one is to redirect a local port to the server running Crashplan, how it is done is describe on this support page
The other is to add enough libraries for the client to run via X on another computer. I added this packages
sudo apt-get install xterm libswt-gtk-3-java
to be able to run it.
You can then access the client by log in with ssh with X-tunneling
ssh -X thecomputer
You then start it with
This works fine if you have a Unix or Mac as you client computer, if you have a windows computer you can download an run some of the Xwindows software with is available on the net.
Some settings to change
There are some settings that can be nice to change for a better performance, you may get this when installing
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
or if you later have allot of files to backup. You can check what you system is set for by issue this command
cat /proc/sys/fs/inotify/max_user_watches 8192
Standard is 8192 files. To change this, create a new file in /etc/sysctl.d/ by entering
sudo vi /etc/sysctl.d/60-crashplan.conf
and insert the following text in the file and save it
change the number to what’s enough to cover the number of files in the backup.
You need to reboot the system for the change to take effect. If you don’t want to reboot the system, type
echo 65000 > /proc/sys/fs/inotify/max_user_watches
use the same number as in the file to change the value for the running kernel
Increasing the number of files increases the memory needed to run the backup process, depending on where you installed the software, standard is /usr/local/crashplan
If you don’t know, use this to find out
ls -l `which CrashPlanDesktop` lrwxrwxrwx 1 root root 41 Dec 14 16:45 /usr/local/bin/CrashPlanDesktop -> /usr/local/crashplan/bin/CrashPlanDesktop
go to installation directory (use the correct one if you installed anywhere else)
and edit the startup variables for the server
sudo edit bin/run.conf
the file looks something like this
SRV_JAVA_OPTS=”-Dfile.encoding=UTF-8 -Dapp=CrashPlanService -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”
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”
The first line change the -Xmx512m (which stands for 512Mb of memory) to something like -Xmx1024m or -Xmsx2048m depending on how much memory you can spare.
save the file and restart the server with