This guide is intended for Atom based Synology NAS boxes. In the comments section you will find comments from users who has attempted to get it working on an ARM based as well. It appears that Java / JVM is the core issue, but it should be possible to get it working at ARM based NAS boxes as well.
The guide has been written based on a DS710+ and with DSM 3.1 and Linux headless client version 3.0.3. If you are using another version of the headless client line numbers may differ.... I have also tried it out on top of a DS1411+ DiskStation without any problems.
- Download the latest release of the Linux Crashplan Client from Crashplan website along with the client for your operating system if you use another operating system then Linux
- Upload the Linux client to the NAS and login to your NAS as root using SSH. Default password is synopass or the same password as your admin account. (if you are using windows you should download PuTTY or another SSH client for this)
- You will need to install a few extra packages at your NAS from the command line:
ipkg update
ipkg install nano
ipkg install cpio
ipkg install bash
ipkg install coreutils
You need to installe ipkg in order to do so. If haven't done so already you can follow this guide:
http://forum.synology.com/wiki/index.php/Overview_on_modifying_the_Synology_Server,_bootstrap,_ipkg_etc#What_is_a_Synology_Server - Move the uploaded client package to /opt
- Unpack the crashplan client (tar -xvf name_of_downloaded_archive_file)
- Modify the install.sh script in the newly created directory to use bash as your shell. The first line in the script should be replaced with this one:
#!/opt/bin/bash - Install the crashplan using the options below. When asked about java allow it to be downloaded: CrashPlan will install to: /opt/crashplan
- Modify the installed crashplan client configuration:
Modify the /opt/crashplan/bin/run.conf by adding -Djava.net.preferIPv4Stack=true as an additional option at the end of the two confiurations (I guess that you only need to do this for the SRV_JAVA_OPTS) - remove commandline options for the ps process in the /opt/crashplan/bin/CrashPlanEngine file since ps doesnt accept parameters at the synology NAS. (sed -i 's/ps -eo /ps /' CrashPlanEngine;sed -i 's/ps -p /ps /' CrashPlanEngine)
- Modify the /usr/syno/etc/rc.d/S99crashplan file line 1 to : #!/opt/bin/bash
- Modify the /opt/crashplan/bin/CrashPlanEngine file line 1 to: #!/opt/bin/bash
- Modify the /opt/crashplan/bin/CrashPlanEngine file line 14 with a full path for nice to: /opt/bin/nice
- Start your crashplan service /usr/syno/etc/rc.d/S99crashplan start
- Validate that your service is running: netstat -an | grep ':424.' should give to listeners:
tcp 0 0 0.0.0.0:4242 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:4243 0.0.0.0:* LISTEN - If your crashplan engine doesn't start up automatically you can add it to rc.local which works. If you edit /etc/rc.local and add "/usr/syno/etc/rc.d/S99crashplan start" without quotes, it seems to load after restart. (Thanks to "kungfu" for this comment / hint)
- Install your desktop client and point it towards the headless service you just installed. Follow the instructions in the crashplan website for this (http://support.crashplan.com/doku.php/how_to/configure_a_headless_client)
Some has reported that using a 64 bit desktop client against a 32 bit headleass client doesn't work. You should go with the 32 Desktop client as well if you are having trouble connecting to the server.
And put links to binaries in: /opt/bin
And store datas in: /opt/crashplan/manifest
Your init.d dir is: /etc/init.d
Your current runlevel directory is: /usr/syno/etc/rc.d
TIP: If you are using mac the ui.properties are located here: ~/Library/Application\ Support/CrashPlan/ui.properties
Congratiolations! You are done :-)
Just found this after a few hours of searching for how to install crashplan on my DS1511+.
ReplyDeleteDid you have to install any other ipkg apps to get crashplan working?
Thanks,
John.
I did - I have updated the description accordingly. I also changed the shell to bash. I don't know if that was necessary. I was inspired by another post explaining how to install Crashplan at a qnap NAS (http://cokeman.dk/qnap/crashplan) for my first attempts which failed so I wasn't sure if they needed to be installed and left them out for that reason.
ReplyDeleteHello again,
ReplyDeleteI have installed this on my DS1511+ and have setup 4 shared folders on the NAS to backup to my free trial of Crahplan+ BUT as soon as I close the SSH tunnel between the PC running the CrashPlan Desktop GUI the backup and CrashPlanEngine seems to stop....
Are you having this problem? How did you get round it?
I want to set it up via the PC and then leave the NAS to backup all my files, but at present this does not seem possible.
Any advice you can offer will be gratefully received.
Thanks,
John.
Hi
ReplyDeleteThe good news is that I don't have this problem. I can terminate the tunnel and backup continues at my NAS.
The bad news would be that I haven't had this problem so I wouldn't know how to fix it.
Did you navigate the filestructure at your NAS when you setup the backup plan or was it your local file structure and mapped shares. Are you running windows, mac or linux?
Hi Kenneth,
ReplyDeleteUsing the Crashplan Desktop on my PC I have browsed the directory structure of the NAS so /Volume1/Documents for example and have specified the 4 folders that I would like to be backed up.
When I establish either an SSH tunnel to my Diskstation or use Putty and specify the tunneling through Putty, the CP Desktop app is able to connect to the Engine.
When I close Putty or exit SSH, the desktop application terminates and the CrashPlanEngine and backup seen to stop too.
How are you calling the CrashPlanEngine on your NAS Kenneth? Are you manually starting it or have you set it to run as startup or via Cron?
I am almost there but at present it seems I need to keep the PC running and connected to get the backup to work, which defeats the object :-(
Are you running any additional IPKG apps? I am only running the pre-reqs for Crashplan and RSnapshot. I am wondering if I need to install SSH-Server.....
Many thanks for you help with this, it is very much appreciated.
John.
I am running Windows 7 x64.
ReplyDeleteI have started the CrashPlanEngine on my NAS manually when the installation was done. I executed the command /usr/syno/etc/rc.d/S99crashplan start from the command line in a SSH session logged in as root. It wasn't the SSH session that I established for my tunnel I should point out.
ReplyDeleteThe script should automatically launch the engine when the NAS is restarted but it doesn't seem to work at the moment. I will do another post once I get that running.
I connect to the engine using the Desktop Client on my mac - but I can't see that the desktop operating system should be the cause for your problems.
Have you verified that you are able to connect at port 4242 at your NAS from your PC when no SSH tunnel is established? (telnet ip_at_NAS 4242)
Below is a complete list of the ipkgs that I have installed. Most of them has been installed in order to get other things working and was done prior to the crashplan setup:
apr - 1.3.12-1 - Apache Portable Runtime library
apr-util - 1.3.9-1 - Apache Portable Runtime utilities library
bash - 3.2.49-1 - A bourne style shell
bzip2 - 1.0.6-1 - Very high-quality data compression program
coreutils - 8.4-1 - Bunch of heavyweight *nix core utilities
cpio - 2.9-3 - file archive utility
cyrus-sasl-libs - 2.1.23-2 - Provides client or server side authentication (see RFC 2222).
e2fslibs - 1.40.3-5 - Ext2 Filesystem Libraries
expat - 2.0.1-1 - XML Parser library
gdbm - 1.8.3-2 - GNU dbm is a set of database routines that use extensible hashing. It works similar to the standard UNIX dbm routines.
libdb - 4.2.52-3 - Berkeley DB Libraries
libstdc++ - 6.0.9-6 - Standard C++ library, needed for dynamically linked C++ programs
libxml2 - 2.7.8-1 - Libxml2 is the XML C parser and toolkit developed for the Gnome project.
lzo - 2.03-1 - Compression library
nano - 2.2.5-1 - A pico like editor
ncurses - 5.7-1 - NCurses libraries
ncursesw - 5.7-1 - NCurses libraries with wide char support
neon - 0.29.3-1 - an HTTP and WebDAV client library, with a C interface
net-tools - 1.60-6 - Network Config and Debug tools (route, arp, netstat etc.)
openldap-libs - 2.3.43-2 - Open Lightweight Directory Access Protocol
openssh - 5.5p1-1 - a FREE version of the SSH protocol suite of network connectivity tools.
openssl - 0.9.8p-1 - Openssl provides the ssl implementation in libraries libcrypto and libssl, and is needed by many other applications and librari
openvpn - 2.1.4-2 - SSL based VPN server with Windows client support
psmisc - 22.13-1 - A set of some small useful utilities that use the proc filesystem.
python - 2.5-1 - This is a package that sets up the default python.
python25 - 2.5.5-2 - Python is an interpreted, interactive, object-oriented programming language.
readline - 6.1-2 - The GNU Readline library provides a set of functions for use by applications that allow users to edit command lines as they are
sqlite - 3.7.3-1 - SQLite is a small C library that implements a self-contained, embeddable, zero-configuration SQL database engine.
svn - 1.6.15-1 - a compelling replacement for CVS
wget - 1.12-2 - A network utility to retrieve files from the Web
zlib - 1.2.5-1 - zlib is a library implementing the 'deflate' compression system.
Hi Kenneth,
ReplyDeleteI will try and launch the Engine from a non tunnelled SSH session and see if this helps.
I may be getting a little confused, Linux is very new to me and my only venture so far has been to install Rsnapshot and Crashplan. I was working on this until 2:30am last night and had 177MB backed up and I have just noticed that I now have 1GB backed up so it may be working even when I disconnect after all!!! Which would be fantastic :-)
I am going to disconnect the SSH session, work on an RSnapshot issue and then see if the backed up amount has increased by this afternoon or remained static.
Once again, that you very much for your help with this.
John.
Sounds great if your backup continues. Your desktop client would of course stop working once you close the tunnel....
ReplyDeleteWaiting to hear if it works as intended.
Glad to help. I was looking for a guide on how to setup automatic backup of my NAS but I didnn't find any that I could use for my setup so I decided to document and post it when I had a working solution....
Kenneth
Hi Kenneth,
ReplyDeleteUnfortunately the backed up amount stayed at 1.1 GB so I am still troubleshooting it for now. I will post back if/when I find a solution.
Thanks,
John.
Sorry to hear that :-( I tried to investigate it a bit further and I believe that I was able to reconstruct your problem.
ReplyDeleteCould you please try to edit your /opt/crashplan/bin/CrashPlanEngine file like this:
line 1 should be modified to:
#!/opt/bin/bash
line 14 shold be modified with a complete command line for the nice process - rest of the line remains the same:
/opt/bin/nice .......
Then restart your NAS. Hopefully the service will launch automatically and start backing up your system as you have defined.
Let me know how it works out :-)
Kenneth
Hi Kenneth, I have been waiting for a long time for someone to try this and thanks to you I have nearly succeeded. I have an issue almost at the end, where I've got :
ReplyDeleteNAS> /usr/syno/etc/rc.d/S99crashplan start
/usr/syno/etc/rc.d/S99crashplan: line 42: /opt/crashplan/bin/CrashPlanEngine: not found
However /opt/crashplan/bin/CrashPlanEngine exists, so I'm not sure why there is such an issue. As I tried multiple time in the past to install crashplan, maybe there is a conflict somewhere. Would you know how I can clean anything which could harm ?
Thanks so much for your great help!
Hi lourson
ReplyDeleteMy best guess would be that your /opt/crashplan/bin/CrashPlanEngine does not have execute permissions. Have you verified this or tried to add execute permissions to the file (chmod +x /opt/crashplan/bin/CrashPlanEngine) ?
Are you able to start the engine by running /opt/crashplan/bin/CrashPlanEngine start
Regards
Kenneth
@lourson You need to change the script to point to the correct bash location. /opt/bin/bash, this is what i did and it works.
ReplyDeleteSo, i gave up on the initialized script and just added it to rc.local which works. If you edit /etc/rc.local and add "/usr/syno/etc/rc.d/S99crashplan start" without quotes, it seems to load after restart.
ReplyDeleteThanks kungfu that was it! (modification only on CrashPlanEngine though, doing it son S99crashplan doesn't work for me)
ReplyDeleteHowever I have still an issue as the crashplan server is killed as soon as I close my root session. I've changed my /etc/rc.local as described and reboot the NAS but crashplan isn't launched by defaut. CrashplanEngine can be launched only by root it seems so far, maybe that's the issue ?
Hi Lourson
ReplyDeleteI had a friend try out the described approach on a new Synology DS710+. He also had problems getting the engine to start up automatically. But doing as described by "kungfu" everything worked out as it should.
I have modified the guidelines - could you try to walk through them again to see if any of the modifications hasn't been performed at your setup.
I found that specifying the shell as /opt/bin/bash and specifying a complete path to nice (/opt/bin/nice) was necessary in order to get the automatic launch working...
First off thanks for writing this up. I have been thinking about doing this for a while but never did because I couldnt find well written instructions.
ReplyDeleteSo I added "/usr/syno/etc/rc.d/S99crashplan start" to /etc/rc.local, but I still get a Permission Denied error:
/etc/rc.local: line 3: /usr/syno/etc/rc.d/S99crashplan: Permission denied
As suggested above I ran "chmod +x /opt/crashplan/bin/CrashPlanEngine" and still ended up with the same error, Permission Denied. Im not sure where to go from here. Any help you can send my way would my much appreciated.
Ok so I was finally able to run /usr/syno/etc/rc.d/S99crashplan without getting the error. I had to run chmod +x on /usr/syno/etc/rc.d/S99crashplan as well as /opt/crashplan/bin/CrashPlanEngine.
ReplyDeleteIm so close I can feel it! Bit when I run a netstat -an I still do not see anything listening on 4242 and 4243
And one more piece of info. When I run /opt/crashplan/bin/CrashPlanEngine start
ReplyDeleteI get the following
/opt/crashplan/bin/run.conf: line 2: unexpected EOF while looking for matching `"'
/opt/crashplan/bin/run.conf: line 3: syntax error: unexpected end of file
/bin/ps: invalid option -- p
BusyBox v1.16.1 (2011-02-25 19:05:42 CST) multi-call binary.
Usage: ps
Report process status
Options:
w Wide output
Starting CrashPlan Engine ... Using standard startup
OK
It ended in OK, but a /opt/crashplan/bin/CrashPlanEngine status
returns the following:
/opt/crashplan/bin/run.conf: line 2: unexpected EOF while looking for matching `"'
/opt/crashplan/bin/run.conf: line 3: syntax error: unexpected end of file
/bin/ps: invalid option -- p
BusyBox v1.16.1 (2011-02-25 19:05:42 CST) multi-call binary.
Usage: ps
Report process status
Options:
w Wide output
CrashPlan Engine is stopped.
I'm actually getting the same problem minus the EOF errors.
ReplyDeleteKnox> pwd
ReplyDelete/opt/crashplan/log
Knox> more engine_error.log
/opt/crashplan/jre/bin/java: line 1: syntax error: unexpected "("
Knox>
I get that same error in my log file. So after digging and digging and digging I think the issue has todo with Java. I have the DS111 and it uses a ARM processor, which isnt supported by Java i guess. What processor does your NAS have?
ReplyDeleteI've got the DS410 which has a PPC processor (Freescale mpc8533e PPC Processor). Wondering if I can install a different java...
ReplyDelete..
ReplyDeleteNo Java VM could be found in your path
Would you like to download the JRE and dedicate it to CrashPlan? (y/n) [y] y
jre will be downloaded
install.sh: line 172: syntax error: unexpected "(" (expecting "then")
Bummer... I have a DS411j / Marvell Kirkwood mv6281 1.2Ghz ARM Processor
Does this mean I'm out of luck, can't find any Java packages in the IPKG list?
Regards, Arne
I was able to get the java clone JAMVM installed using ipkg, anyone care to say something about that, can I just remove the java check in install.sh to get the installer to run, or am I just shooting blind here?
ReplyDeleteHas to admit I'm pretty n00b when it comes to Linux at this level...
Thanx, Arne
@Arne I tried the JAMVM to and was not successful. What I did was unintall Crashplan with the script, install JAMVM thru ipkg, and then reinstall Crashplan. But this time I said NO to downloading the Crashplan JRE. It didnt like that at all. I got an error saying that Crashplan requires that you have Sun JRE or OpenJava before it will install. I looked into getting OpenJava, but I could only find uncompiled versions. And from what I read the only way to get OpenJava to run on ARM is to compile it on the NAS. I dont know how to do that. ;(
ReplyDeleteYes, I tried to answer no as well and got the same result. Yet, getting past the Java-check in install.sh where it fails for me should be relatively simple, just remove the check altogheter from the script.
ReplyDeleteI'm afraid though that there might be other problems later on....as Crashplan says it should be Sun or OpenJava.
//Arne
@Jason you could try this: http://www.oracle.com/technetwork/java/embedded/downloads/index.html It looks like you can use it for general use for free.
ReplyDelete@kungfu Thanks! But I have a quick question. I downloaded and extracted it. But im not sure where im supposed to up it so CrashPlan find it. Can you help me out? Thanks!
ReplyDeleteOh and do i need ARM 5 or ARM 6/7?
ReplyDeleteHi Kenneth,
ReplyDeleteI confirm this is working perfectly now on my DS710+. Thanks heaps!
@Jason - im not quite sure as i have an intel processor on mine. So i couldnt test it on one with an ARM processor. I would say try the ARM 5 version first. That would be my best bet. First see if you can even get it to install. Im sure there is an install file you have to run to install java on there.
ReplyDeleteAny chance to have Crashplan on the NAS to backup files to CrashPlan Central? (running the client on the NAS)
ReplyDeletegot it running now - amazing. Thx for this guide :)
ReplyDeleteBTW: Is there a way to force a static ssh tunnel from a win to a headless crahplan as I will "only" use it with the GUI on the PC and the backup residing on my NAS
Hi, first of all thank you for the guide.
ReplyDeleteI tried to get it running on a DS211j but unfortunately there is no CrashPlanEngine process and the java process starting the CrashPlanService ends after 10 sec.
I assume the 211j has not enough ram for crashplan.
However, it was fun trying it out :)
I have found the cause of the problem:
ReplyDeletejava.lang.UnsatisfiedLinkError: /opt/crashplan/libjtux.so: /opt/crashplan/libjtux.so: cannot open shared object file: No such file or directory
(Possible cause: can't load IA 32-bit .so on a ARM-bit platform)
How is that supposed to work on ARM?
Solved :)
ReplyDeleteFor all of you who try to use it on DS211j you need a libjtux.so as mentioned in:
http://www.pchilton.co.uk/2011/01/29/crashplan-online-backup-on-qnap-ts-210-nas/
Is it normal that CP spawn not less than 59 java processes on my DS710+ ?
ReplyDeleteThanks!
ReplyDeleteYour article made me decide to get the Synology DS1511+ and by simply following your instructions it's now working perfectly! :-)
I'm still strugling with crashplan server is killed as soon as I close my root session - any suggestions??
ReplyDeleteAlso you DONT need any SSH port forward stuff :)
simple edit your servers crashplan/conf/my.service.xml file and change
127.0.0.1 to 0.0.0.0
and then edit your local ui.properties file:
ServiceHost=IP-OF-YOUR-CP-SERVER
and you can connect
ups - tags removed. in the my.service.xml file look for serviceHost - around line 23
ReplyDelete@gnyf yea follow step 14 to get it start automatically. You will need to restart the NAS once you do that and it should run on its on.
ReplyDeleteAlso i did try the method of changing the ip to 0.0.0.0 and that does work, but im wondering how safe that is. I'm thinking they want you to ssh for security reason as changing it to 0.0.0.0 probably leaves it open for anyone to access it.
@kungfu thx that did the trick.
ReplyDeleteI totally agree with you the IP should be changes to a specific IP or a subnet like 192.168.1.0 - a wide open ip range is too optimistic ;)
Hi.
ReplyDeleteFirst of all, thanks for this guide!
I'm trying to get this working on a DS1010+.
I have a problem though. It seems to start, but when I run netstat -an | grep ':424.', I only get port 4242:
tcp 0 0 0.0.0.0:4242 0.0.0.0:* LISTEN
This means I can't connect to it with my crashplan desktop. Any ideas as to why I don't get the service port 4243 listener?
Doh! Of course I shortly after remember that I have used port 4242 already for something else :P
ReplyDeleteAfter I changed that, I rebooted the NAS and it seems like I had to start the crashplan service manually first, even though I have added it to the rc.local?! Sounds like I have the same problem as John has mentioned above.
After starting it I got the 2 listening ports.
I still can't seem to get my desktop client to connect to the server though :( At least it still says the name is the client machines name and when I browse folders, I browse the client machine. Any help would be much appreciated!
Thanks for your great article. It helped me a lot.
ReplyDeleteBut, I have a DS411+ and I'm able to start the CrashPlan service manually, but I can't seem to get it to start automatically on restart and the service seems to stop once I close my SSH client.
I've added /usr/syno/etc/rc.d/S99crashplan start to the /etc/rc.local but it doesn't seem to work.
Any other ideas? I'm pretty new to Linux but any help would be greatly appreciated.
Thanks.
Hi, great blog post but i'm stuck and hoped you could help me please .. i have the 211j and got to the poit of install and it failed with this error:-
ReplyDeletenas> sh install.sh
Welcome to the CrashPlan Installer.
Press enter to continue with installation.
Validating environment...
detected root permissions
No Java VM could be found in your path
Would you like to download the JRE and dedicate it to CrashPlan? (y/n) [y] y
jre will be downloaded
install.sh: line 172: syntax error: unexpected "(" (expecting "then")
nas>
Cheers Adi
you should use bash instead of sh
ReplyDeleteSo I wanted to start this on my 1511... which is new. When I log into root the first thing I note is that it doesn't know what ipkg is? I suspect there is some other instruction or something that is done to allow a new system to follow these instructions??
ReplyDeletehttp://forum.synology.com/wiki/index.php/Overview_on_modifying_the_Synology_Server,_bootstrap,_ipkg_etc#What_is_a_Synology_Server
ReplyDeleteI should note that the link I posted has instructions on how to get ipkg installed on your synology NAS... maybe you can add that is your first part of your instructions (and yes... google is your friend but I think it will help complete your instructions).
ReplyDeleteBut having said that I'm still having problems. Couple of questions:
1) How does the headless client know where to put your backups?
2) Can you configure your local client to backup to multiple destinations including this headless client or are you limited to just this headless client while you have CrashPlan's configuration set to it?
Currently my setup doesn't seem to be working as I'm getting an error trying to connect to the backup engine.... I'm getting ready to go out of town for a couple of weeks so I probably won't be able to deal with it right now but I would appreciate your comments on my questions.
Thanks for putting together this blog.
David: As far as I know, you configure that with the headless client by connecting to it from a Desktop client. I haven't gotten that to work though as can be seen above and in the thread on the Synology forum :(
ReplyDeletedoes it work on ally syno or only atom based one ?
ReplyDeletei've a ds-210+ ...
frred
ok, doesn't work on non atom based syno, java pb
ReplyDeleteMarius said...
ReplyDeleteSolved :)
For all of you who try to use it on DS211j you need a libjtux.so as mentioned in:
http://www.pchilton.co.uk/2011/01/29/crashplan-online-backup-on-qnap-ts-210-nas/
How did you get the service to start? I did everything right i think ...
Thanks Kenneth, your guide was most helpful. Enabling this technically challenged Linux retard to-do cool things :)
ReplyDeleteHi,
ReplyDeleteThanx for the great blog. I followed every step but when i want to start the engine it keeps telling me: /bin/ps: invalid option -- p
When i check the status, it's stopped.
Can anyone pls help me with this one?
I'm using a 211j
Thx!
Sander
I've got a DS211+, installed everything according to the instructions and still got 2 errors:
ReplyDelete/bin/ps: invalid option -- p
/opt/crashplan/jre/bin/java: line 1: syntax error: unexpected "("
the second error could have something to do with the libjtux.so file
This error:
ReplyDelete/bin/ps: invalid option -- p
is due to the instructions not being quite correct. The sed command to fix ps should be something more like this:
sed -i "s/ps -eo 'pid,cmd'/ps /" CrashPlanEngine
I've followed the instructions with my DS1511+, and other than this (fairly minor) oversight, things seem to be working just fine. Thanks!
In regards to instruction number 15, there's no need to edit rc.local. All you need to do is rename "S99crashplan" to "S99crashplan.sh". It looks like the program that cycles through /usr/syno/etc/rc.d needs that file extension. Go figure. :p
ReplyDeleteSo run these instead:
15. a. Rename S99crashplan to S99crashplan.sh with: mv /usr/syno/etc/rc.d/S99crashplan /usr/syno/etc/rc.d/S99crashplan.sh
b. Restart your system: reboot
With the reboot, Crashplan will start up properly with the system, so it won't shut down when you close your terminal session. :)
Hi Sogarth,
ReplyDeleteAfter i ran the sed-command as you described, i get the following message:
NAS> ./CrashPlanEngine start
/bin/ps: invalid option -- p
BusyBox v1.16.1 (2011-02-25 19:05:42 CST) multi-call binary.
Usage: ps
Report process status
Options:
w Wide output
Starting CrashPlan Engine ... Using standard startup
OK
@Marius How did you get Java installed and functioning on your DS211J?
ReplyDeleteJust as a data point, I'd like to add that I got CrashPlan running on my DS209 with the Sun/Oracle JVM. Unfortunately the 256MB of memory doesn't seem sufficient; the CrashPlan process is consistently killed due to OOM when it tries to actually backup.
ReplyDeleteWhen I get around to it I'm going to add some swap and see if that helps (and if performance is adequate)
@J. Martin: can you explain how you got CrashPlan to run on your DS? I've got a DS211+ with ARM CPU and have a hard time getting it to run.
ReplyDelete@bcw, not that you find my comment usefull, but i also have the DS211+ and installed according to plan. The only error i've got is:
ReplyDelete/opt/crashplan/jre/bin/java: line 1: syntax error: unexpected "("
in the engine_error.log when i start the crashplan engine. So it seems to be Java/Device specific? I'm not into java and installing it on this OS. So i'm stuck too.
Hi,
ReplyDeleteI got CrashPlan to install and I got it to start up on a reboot, but after upgrading to DSM 3.1-1742 I can't get CrashPlan to start anymore.
It seems that the /usr/syno/etc/rc.d/S99crashplan file is missing. I've tried re-installing CrashPlan but it tells me that CrashPlan is already installed. All the other files that CrashPlan installed seem to be there, just the S99crashplan file is missing.
Is there anyway to recreate this file or repair my CrashPlan installation?
Thanks for the help.
Hi,
ReplyDeleteWhen you install a new version of DSM, it removes the S99crahsplan file. But this file is only a symbolic link, and you can recreate it with this command:
ln -s /etc/init.d/crashplan /usr/syno/etc/rc.d/S99crashplan
Hi,
ReplyDeleteIf anyone could solve the problem we encounter on the DS211+, it would be greatly appreciated.
I want to back-up my NAS on Crashplan and would love to have it work automatically. Unfortunately, i have the same syntax error as above.
Thanks
I've got it installed and it claims to be running. It's listening on the appropriate ports, but I cannot validate it by telnet'ing in to the machine. i've tried both net interfaces on DS1511 on both port 4242 and 4243 and cannot get a connection on either one. Any suggestions?
ReplyDeleteJust installed it on my DS411+II
ReplyDeleteSkipped 8 and 9 completely.
Listening is OK - still need to verify with windows client.
THANKS A MILLION !!!!
I can't seem to get mine to listen. When I launch the service, I get:
ReplyDelete/bin/ps: invalid option -- e
BusyBox v1.16.1 (2011-07-18 19:45:54 CST) multi-call binary.
Usage: ps
Report process status
Options:
w Wide output
Starting CrashPlan Engine ... Using standard startup
OK
When I check the status, I don't see anything listening on 42* ports.
Ideas?
Solved my own issue. Now my only error is /opt/crashplan/jre/bin/java: line 1: syntax error: unexpected "("
ReplyDeleteThis is what im getting and ive followed all the comments mentioned here but alas it wont start.
ReplyDeletefileserver> /opt/crashplan/bin/CrashPlanEngine status
/bin/ps: invalid option -- p
BusyBox v1.16.1 (2011-06-29 11:52:19 CST) multi-call binary.
Usage: ps
Report process status
Options:
w Wide output
CrashPlan Engine is stopped.
Here is my crashplanengine edit...
vi /opt/crashplan/bin/CrashPlanEngine
fi
case $1 in
start)
FULL_CP="$TARGETDIR/lib/com.backup42.desktop.jar:$TARGETDIR/lang"
PID=`/bin/ps 'pid,cmd'| grep 'app=CrashPlanService' | grep -v grep | awk '{sub("^ ", "", $0); print $0}' | cut -d " " -f 1`
if [[ -n "$PID" ]]; then
echo CrashPlan is already running with pid $PID
exit 1;
fi
do_startup
;;
stop)
echo -n "Stopping $DESC ... "
if [[ -f $PIDFILE ]] ; then
kill `cat $PIDFILE`
sleep 10
fi
PID=`/bin/ps 'pid,cmd'| grep 'app=CrashPlanService' | grep -v grep | awk '{sub("^ ", "", $0); print $0}' | cut -d " " -f 1`
if [[ -n "$PID" ]]; then
echo "Still running, killing PID=$PID ... "
kill -9 $PID
fi
rm -f $PIDFILE
echo "OK"
;;
restart|force-reload)
echo -n "Restarting $DESC ... "
$0 stop
sleep 5
$0 start
;;
status)
PID=`/bin/ps 'pid,cmd'| grep 'app=CrashPlanService' | grep -v grep | awk '{sub("^ ", "", $0); print $0}' | cut -d " " -f 1`
if [[ -n "$PID" ]]; then
echo "$DESC (pid $PID) is running."
else
echo "$DESC is stopped."
fi
;;
So I got Crashplan to run on a DS211 (which is an ARM architecture) by doing three things:
ReplyDelete- Replacing Java with embedded ARM 5 version
- Replacing libjtux.so with one from this link: http://www.pchilton.co.uk/2011/01/29/crashplan-online-backup-on-qnap-ts-210-nas/
- Using Sogarth's command: sed -i "s/ps -eo 'pid,cmd'/ps /" CrashPlanEngine
Unfortunately I'm not having any luck getting connected to the Crashplan service. The only thing I see in the logs are:
[08.05.11 01:34:05.371 WARNING NATContinuation-2853 e42.peer.NATConnector.finishContinuation] [NATContinuation[489528879126937957](0):489519188271432037<->450964407269720447][passive/STOP] RP:: TRAVERSAL FAILURE for com.code42.peer.NATConnector@15e5a21
Which seems like a networking issue to me =/
Want to clarify last comment...I CAN connect to Crashplan. Crashplan registers the network name of the NAS and I am able to browse the NAS folder's through the desktop client.
ReplyDeleteWhere it's failing is connecting to CrashPlan Central to actually backup files.
Just trying to set this up....but having an issue with the listener not being available on 4243 (unable to connect to backup agent)
ReplyDeleteNAS> netstat -an | grep ':424.'
tcp 0 0 192.168.1.3:37414 212.63.206.35:4242 ESTABLISHED
udp 0 0 0.0.0.0:42427 0.0.0.0:*
Any ideas why I dont have the listener?
Cheers
I have noticed that the service isnt starting properly
ReplyDeleteSame -- p error
I am trying this on the DS411j
Has anyone managed to get this working on it?
Hi Everyone,
ReplyDeleteThanks to all of you for posting your experience.
I have installed crashplan on DS211J and I got it running by doing that:
Synology> /etc/init.d/crashplan start
/bin/ps: invalid option -- e
BusyBox v1.16.1 (2011-06-29 11:49:19 CST) multi-call binary.
Usage: ps
Report process status
Options:
w Wide output
Starting CrashPlan Engine ... Using standard startup
OK
But then no listening on port 4242:
Synology> netstat -an | grep ':424.'
In the engine_error.log file I have the following like some users here:
/opt/crashplan/jre/bin/java: line 1: syntax error: unexpected "("
No idea what it can be. Any idea?
Regards,
Laurent
I got some mails with questions about CrashPlan and DS211j. Because my last post here just looks like it worked. Sadly it did not and I was so frustrated I gave up.
ReplyDeleteI could connect with the headless
client and start backups, but the crashplan service did not monitor changes in directories and did not start these backups.
Basically I had a similar error message in the log as Philipp in the second comment on the this page:
http://www.pchilton.co.uk/2011/01/29/crashplan-online-backup-on-qnap-ts-210-nas/
The JNIWrapper is the problem. That is where I had to give up.
Autostart issues? Check step 12 of the german article listed above.... It's so easy it's painful!
ReplyDeleteSame problem with my DS211J.
ReplyDeleteThe engine starts, monitor changes but still "waiting for backup" message.
Hi Guys,
ReplyDeleteInstalled it at a ds411 and it does not seem to work. once a clients connects I get the following Error from the log:
DiskStation> tail engine_error.log
Exception in thread "W6789355_ScanWrkr" java.lang.NoClassDefFoundError: Could not initialize class com.code42.jna.inotify.InotifyManager
at com.code42.jna.inotify.JNAInotifyFileWatcherDriv
Anyone who can help me out?
Thx,
Ronald
Someone told me that it was because we need to install the inotify kernel module...
ReplyDeleteI haven't installed it yet... and I don't know how to do this...
Hmmm, after following the German article, I have had CrashPlan running and auto starting without any issues.
ReplyDeleteThen I upgraded DSM...CrashPlan is stil installed, but the S99crashplan.sh file was removed during the upgrade.
Which led me to start looking for its contents. So I went to the install package, and found a fix for the initial install that will perform the S99crashplan > S99crashplan.sh rename during the installation :)
Open CrashPlan install package (Show Content on Mac), inside is an install.sh script, edit this file and goto lines 449-453 (line numbers correct for Crashplan 3.0.3 install);
if [ "x${RUNLVLDIR}" != "x" ] ; then
# Now that we should have a working init script let's link in the runlevel scripts
ln -s ${INIT_INSTALL_DIR}/${DIR_BASENAME} ${RUNLVLDIR}/S99${DIR_BASENAME}
fi
Change the line
ln -s ${INIT_INSTALL_DIR}/${DIR_BASENAME} ${RUNLVLDIR}/S99${DIR_BASENAME}
add .sh on end, so making
ln -s ${INIT_INSTALL_DIR}/${DIR_BASENAME} ${RUNLVLDIR}/S99${DIR_BASENAME}.sh
Save, then run install
And to fix the original issue, of file being removed after upgrade;
Manual softlink;
ln -s /etc/init.d/crashplan /usr/syno/etc/rc.d/S99crashplan.sh
Hope this helps someone
It worked for me, thank you very much for sharing.
ReplyDeleteus vpn
I got it running on a DS411+II, and it runs very nicely. After adding a folder, it backed up all files in that folder, but afterwards, it fails to detect any new files added to that folder.
ReplyDeleteThe service is running, I can connect with the desktop client, and the fix for foreign characters is in place too.
Restarting the crashplan service on the DS doesn't help. The only way I can seem to let it back up new files is by changing the files to back up in the settings and then saving...
Doesn anybody have a clue?
Forget I even asked... I just noticed that the option 'veryfy selection every:' on the tab 'backup sets' in the settings on the desktop client was set to once per day.
ReplyDeleteWhen I click the 'Now' button, it does find the new files, so apparently I just wasn't patient enough :-)
I decided not to delete my previous comment, but adding this one instead, because it might help some other impatient guy...
it looks like those of us on ARM architectures are out of luck. I can't find a way around the JVM issues others have experienced.
ReplyDeleteCame across this thread which was very helpful, but I needed to put in a bit of extra work to get this up-and-running on my DS411j.
ReplyDeleteHere's a basic rundown of things that needed to be done:
* Download and install the appropriate version of Java SE. I tried several versions until I found one that worked. In my case it was "Java SE for Embedded 7 (Build 147) ARMv5 Linux - Headless, EABI, Soft Float, Little-Endian", ejre-7-fcs-b147-linux-arm-sflt-headless-27_jun_2011.tar.gz
After extracting the java library, I moved it to /opt/crashplan/jre (replacing the version of Java that crashplan downloaded automatically ... since it obviously didn't work).
* Downloaded and installed libjtux (see http://www.pchilton.co.uk/2011/01/29/crashplan-online-backup-on-qnap-ts-210-nas/ for compiled library and instructions)
* Downloaded libjnidispatch.so from http://packages.debian.org/sid/libjna-java, and used JAR to add the library to jna-3.2.5.jar (see http://www.markinthedark.nl/news/ubuntu-linux-unix/88-install-playstation-media-server-pms-on-a-synology-nas.html for links and details, just replace the .jar file name appropriately :) ). I needed to install the JDK on my desktop to use JAR, because I couldn't find a compiled version of the JDK that works on ARM.
* Download, compile, install the latest version of libffi
I downloaded the source from ftp://sourceware.org/pub/libffi/ (libffi-3.0.10.tar.gz)
In order to compile, you'll need 'make' and 'gcc'
use ipkg to install them:
ipkg install make
ipkg install gcc
Once you have those installed, extract the libffi library, and in its root dir, type:
./configure --target=arm-linux
make
install
This installs the libraries into /usr/local/lib/
This is good, but CrashPlan needs to know how to find the libs. I added /usr/local/lib to my LD_LIBRARY_PATH env variable.
* Change the path of the Java tmp directory (see https://crashplan.zendesk.com/entries/52448-crashplan-on-centos-5-throwing-java-exceptions for details). I'm not 100% sure if this step is necessary, but I encountered this advice before hunting down all the missing libraries I've already mentioned. I've already changed it, and I don't really feel like changing it back to see if it still works :)
At this point, I was able to start up CrashPlan without any errors, connect with a Windows client, and initiate a backup. Woohoo!
I hope this helps you ARM-equipped Synology owners out there, and hopefully you save a little bit of time on your install. Good luck!
Hi All.
ReplyDeleteWould like to comment shortly on my findings when installing on a 411+ back in June2011. All went well using the step-by-step. However... Like others I have problems keeping crashplan/java running after I close my SSH session to the synology. My trick getting this to work was to install screen (ipkg install screen), type screen, and the run /etc/init.d/crashplan start , Hit ctrl-a-d to detach screen. Now crashplan keeps running nicely in the background even after I close my SSH session. Recall the crashplan-screen session with "screen -R" It is probably possible to put crashplan in a screen during boot but I haven't digged down into to this. My NAS runs 24/7 on a UPS so boot is only when a new DSM version requires boot. Thanks to Kenneth for starting this blogentry.
AllanB: just rename your rc.d script from S99crashplan to S99crashplan.sh, then you won't need to deal with screen. It will just automatically run at boot.
ReplyDeleteHi Matt. Yep, that one did the boot-bug for me. Thanks. However. a stop and start of the S99crashplan.sh in a SSH-session, will still cause the crashplan service to stop when the SSH connection terminates. Any solution besides the screen are welcome. :) :) Reason, working-users are online almost 24/7 and reboot is a rare opportunity for me. Screen will do for now. Thanks anyway for the .sh solution
ReplyDelete@Matt : I try to install using your wonderful procedure (for my DS212+) but for libffi , I don't succeed in installing.
ReplyDeleteThere is no install in root directory.
Sure I only have to run install ?
This comment has been removed by the author.
ReplyDelete@Greyvador: Sorry, I may have not been clear. You need to compile from the directory created after extracting the .tar.gz
ReplyDeleteeg:
gzip -d libffi-3.0.10.tar.gz
tar -xvf libffi-3.0.10.tar
cd ibffi-3.0.10/
./configure --target=arm-linux
make
make install
@Alan another way to avoid using screen is to just kick off the scipt using nohup. Is there some reason why you'd need to kill the crashplan client once it's running though?
ReplyDelete@Matt, tahnks a lot. "make install" works more than juste "install" :-)
ReplyDeleteStill have problem with "/bin/ps: invalid option -- p" even after the sed command.
I will read other time all the comment to find a solution.
And I am writting a complete installation doc (hope it will work ).
David
Greyvador: Try the sed command posted by Sogarth above:
ReplyDeletesed -i "s/ps -eo 'pid,cmd'/ps /" CrashPlanEngine
@Mark : I try sed and it's don't work so I will look at the script tomorrow.
ReplyDeleteI will contribute to the wiki but I write the doc to keep all the information (and because I'm French).
-----------------
NAS_Macoda> sed -i "s/ps -eo 'pid,cmd'/ps w/" /opt/crashplan/bin/CrashPlanEngine
NAS_Macoda> /etc/init.d/crashplan status
/bin/ps: invalid option -- p
BusyBox v1.16.1 (2011-11-26 14:58:46 CST) multi-call binary.
Usage: ps
Report process status
Options:
w Wide output
CrashPlan Engine is stopped.
----------------------------------------
ok, fix the ps problem.
ReplyDeleteIt's because I use
sed -i 's/ps -eo /ps /' CrashPlanEngine
before
sed -i "s/ps -eo 'pid,cmd'/ps /" CrashPlanEngine
So my CrashPlanEngine contains
/bin/ps 'pid,cmd'
and not
/bin/ps
CrashPlanEngine run but ... error in engine_error.log about jtux.
ReplyDeleteI look at the tutorial and found that I forgot to built jtux :-(
So I try to download and install libjtux from http://www.pchilton.co.uk/2011/01/29/crashplan-online-backup-on-qnap-ts-210-nas/ instructions
I download the jtux patch file from this discussion post (https://crashplan.zendesk.com/entries/390250-crashplan-on-sheevaplug)
=> https://crashplan.zendesk.com/attachments/token/uynwafpg5bvusqn/?name=jtux.PS3-YDL6.1.patch.txt
then get jtux
NAS> wget http://basepath.com/aup/jtux/jtux.tar.gz
NAS> tar zxf jtux.tar.gz
NAS> cp /tmp/jtux.PS3-YDL6.1.patch.txt jtux
NAS> cd jtux
Patch the file
NAS> patch <jtux.PS3-YDL6.1.patch.txt
And .... when I try to change the line to "Set JAVA_INCLUDE = /usr/lib/jvm/java-6-openjdk/include" in Makefile ... there is a problem.
I don't have JDK on my DS212+ NAS
And ... only find Atom or Intel JDK version :(
What I am doing wrong ?
I found a libjtux.so file
ReplyDeleteOn this blog :
http://vincesoft.blogspot.com/2011/11/how-to-install-crashplan-on-iomega.html
And wget http://dl.dropbox.com/u/50398581/crashplan%20on%20NAS/libjtux.so
(and it's seems to be good,
netstat -an | grep ':424.' give :
tcp 0 0 0.0.0.0:4242 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:4243 0.0.0.0:* LISTEN
Good news !
ReplyDeleteI just start a backup using Crashplan UI (on windows, throw putty) to connect to my crashplan engine on my NAS !!!!!!!
Well ... not so good :-(
ReplyDeleteI can connect to CrashPlan NAS using CrashPlan Desktop (on Windows), choose file and start backup (using "Start backup" button).
And nothing backup ..... There is only this on CrashPlan Desktop :
-------------------------------
Backup Destinations
CrashPlan Central
Connecting to backup destination
To do : 12 files (50.1 MB)
Completed : 0 files (0 MB)
Last backup : Initial backup not complete
-------------------------------
I notice in the log an error message but can't find how to resolved it :
Exception in thread "W6789355_ScanWrkr" java.lang.NoClassDefFoundError: Could not initialize class com.code42.jna.inotify.InotifyManager
at com.code42.jna.inotify.JNAInotifyFileWatcherDriv
Someone Know how to solve it ?
David
Ive been fighting with this for weeks now and cant get anything working once I get past the install.
ReplyDeleteIf I more engine_error.log this is what I get:
/opt/crashplan/jre/bin/java: line 1: syntax error: unexpected "("
I have downloaded Java SE for Embedded 7 ARMv5 Linux - Headless and I think I installed is, but im not really sure. Can someone tell me how to get it installed?
I have also downloaded the compiled version of libjtux.so off of http://www.pchilton.co.uk/2011/01/29/crashplan-online-backup-on-qnap-ts-210-nas/
But it also does not seem to work. Can someone point me in the right direction?
I know that I need Java SE for Embedded 7 ARMv5 and libjtux.so, but cant get them to properly install and work with Crashplan. Please help!
Matt, thank you very much for working through this and posting all the library information in one place! I know this is time-consuming to do.
ReplyDeleteI think I've got it working now. I've currently got the UI on a Linux machine connected to the engine on my DS212. We'll see if I can get it set up.
FYI, I hit one snag not mentioned above: somehow conf/my.service.xml ended up with "..." in the serviceHost field, and CrashPlan was dying with
Exiting!!! java.net.SocketException: Unresolved address
when trying to bind to its listening socket. Once I changed that to an actual IP address (I'm using 0.0.0.0 at the moment, but I'll probably change that back to 127.0.0.1 when I'm done), it started up.
To those who are still stuck at
ReplyDelete/opt/crashplan/jre/bin/java: line 1: syntax error: unexpected "("
you're still trying to run the Intel JRE instead of the ARM one. You need to make sure that the JAVACOMMON line in CrashPlan's install.vars points at the Java binary you installed. By default, it points at the Java binary in its jre directory. If you simply replaced that jre directory with the one you downloaded for ARM, it should work.
@Matt - Thanks I did as you said and replaced the Intel JRE with the ARM version. I believe I am past one of my hurdles. Now when I start the Crashplan service it stays active for a few seconds instead of stopping right away. If I tail the error.log I get the following:
ReplyDeletemore /opt/crashplan/log/engine_error.log
java.lang.UnsatisfiedLinkError: /opt/crashplan/libjtux.so: /opt/crashplan/libjtux.so: ELF file version does not match current one (Possible cause: endianness mismatch)
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1928)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1854)
at java.lang.Runtime.loadLibrary0(Runtime.java:845)
at java.lang.System.loadLibrary(System.java:1084)
at jtux.UUtil.init(UUtil.java:14)
at jtux.UProcess.(UProcess.java:30)
at com.code42.os.posix.PosixProcessCommands.getuid(PosixProcessCommands.java:57)
at com.backup42.service.CPService.logIds(CPService.java:1164)
at com.backup42.service.CPService.start(CPService.java:396)
at com.backup42.service.CPService.main(CPService.java:1552)
It seems obvious that the issue is with the libjtux.so file. I downloaded and replaced the existing file with the one from http://www.pchilton.co.uk/2011/01/29/crashplan-online-backup-on-qnap-ts-210-nas/. Is there a different version that I need use with a DS111? Does anyone else have a DS111 that can give me their libjtux.so?
@Jason: DS111 and DS212+ used the same CPU " Marvell Kirkwood mv6282" which is ARM.
ReplyDeleteDonwload
http://dl.dropbox.com/u/50398581/crashplan%20on%20NAS/libjtux.so
From this blog :
http://vincesoft.blogspot.com/2011/11/how-to-install-crashplan-on-iomega.html
David
Alright I have progress! Thanks guys!!!! I am connected to my NAS with Crashplan Desktop, but nothing seems to want to backup. I have a few folders selected, with about 30 GiB of data and it says 0 Files to do and 0 Files Completed. Thoughts?
ReplyDelete@Jason : Got the same problem :(
ReplyDeleteI also have, in the log, an error message but can't find how to resolved it :
Exception in thread "W6789355_ScanWrkr" java.lang.NoClassDefFoundError: Could not initialize class com.code42.jna.inotify.InotifyManager
at com.code42.jna.inotify.JNAInotifyFileWatcherDriv
Have you the same ?
@Greyador : Yup looks like the same error
ReplyDeletemore /opt/crashplan/log/engine_error.log
Exception in thread "W9997918_ScanWrkr" java.lang.NoClassDefFoundError: Could not initialize class com.code42.jna.inotify.InotifyManager
at com.code42.jna.inotify.JNAInotifyFileWatcherDriver.(JNAInotifyFileWatcherDriver.java:21)
at com.code42.backup.path.BackupSetsManager.initFileWatcherDriver(BackupSetsManager.java:376)
at com.code42.backup.path.BackupSetsManager.startScheduledFileQueue(BackupSetsManager.java:314)
at com.code42.backup.path.BackupSetsManager.access$1600(BackupSetsManager.java:64)
at com.code42.backup.path.BackupSetsManager$ScanWorker.delay(BackupSetsManager.java:1007)
at com.code42.utils.AWorker.run(AWorker.java:158)
at java.lang.Thread.run(Thread.java:722)
@Greyvador Im still working thru this issue. Have you made any progress?
ReplyDeleteTo those who are encountering the inotify error, you didn't install libjnidispatch.so correctly. In your crashplan/lib directory, run
ReplyDeleteunzip -l jna-3.2.5jar
The path on the last line should be
com/sun/jna/linux-arm/libjnidispatch.so
Here are the exact commands I ran on my desktop machine:
curl -O http://ftp.us.debian.org/debian/pool/main/libj/libjna-java/libjna-java_3.2.7-4_armel.deb
ar vx libjna-java_3.2.7-4_armel.deb
tar xzf data.tar.gz
mkdir -p com/sun/jna/linux-arm
cp usr/lib/jni/libjnidispatch.so com/sun/jna/linux-arm/
jar uf jna-3.2.5.jar com/sun/jna/linux-arm/libjnidispatch.so
(You can use wget instead of 'curl -O' if that's what you have available.)
Of course, copy jna-3.2.5.jar from your Synology device before this and copy it back afterward.
With this fix, I'm now backing up!
Don't have access to my synology from my business so I will try this evening, but I remember that Matt says "needed to install the JDK on my desktop to use JAR, because I couldn't find a compiled version of the JDK that works on ARM."
ReplyDeleteIs there a JDK for ARM or do you have another CPU ?
Thanks for the tips, hope this work !
No, I copied the jna-3.2.5.jar file to my desktop machine, made the changes there, and then copied it back to my DiskStation.
ReplyDelete@Matthew.
ReplyDeleteI did it all and now, unzip -l jna-3.2.5jar in crashplan/lib directory says :
67600 12-22-2011 15:57 com/sun/jna/linux-arm/libjnidispatch.so
But same error in the log :-(
I found that other people have the same problem (https://crashplan.zendesk.com/entries/52448-crashplan-on-centos-5-throwing-java-exceptions or http://vincesoft.blogspot.com/2011/11/how-to-install-crashplan-on-iomega.html).
I notice that when I install libffi I got an error "/tmp/libffi-3.0.10/arm-unknown-linux-gnu/libtool: line 1090: ldconfig: command not found" perhaps it's the problem.
But holidays are coming so I think I will try agin next Year !
Merry Christmas !!
David
I have no errors in the engine_error.log, but it doesn't start. What now? :D
ReplyDeleteOkay, wrong java version. If anyone has the same problem (Crashplan not starting and no error message) go to the directory where you extracted Java, to /bin and try to start java by ./java.
ReplyDeleteIf it says "core dumped" then it's a wrong version of Java you installed. (Most likely ARMv6/v7 for a v5 processor)
I got it working on the 411j. Basically the Crashplan installer only doesn't install any JRE for ARM-based processors. If you're in that situation (like I was with the 411j), you need to use pre-install Java first, using the following: http://pcloadletter.co.uk/2011/08/23/java-package-for-synology/
ReplyDeleteOops, spoke too soon. I'm at the same spot as Greyvador now.
ReplyDeleteWoohoo, got it working and it's backing up now! @Greyvador, I had missed the step of setting up libffi.so.5 and it results in the same "java.lang.NoClassDefFoundError: Could not initialize class com.code42.jna.inotify.InotifyManager" error. Once I copied it to /opt/lib and pointed LD_LIBRARY_PATH to it, and did an /etc/init.d/crashplan restart, the backup immediately started working.
ReplyDeleteI had a go with this a few months ago but was unsuccessful. I want to try again but I cannot get the service to start.
ReplyDelete/usr/syno/etc/rc.d/S99crashplan start
gives me a not found error
I tried re-creating the symbolic link as described above but that hasn't helped.
Since I originally tried the install the DSM has been updated. I think I might be best to do an install....only problem is the uninstall.sh also gives a not found! HELP!
@Aidan: What's not found? Do you see /usr/syno/etc/rc.d/S99crashplan? Do you see /etc/init.d/crashplan?
ReplyDelete@Matthew:
ReplyDeleteI can see /usr/syno/etc/rc.d/S99crashplan
but when I exectcute
/usr/syno/etc/rc.d/S99crashplan start
I get the error 'not found'
I can see there is the link to location /etc/init.d/crashplan
This is the only file in /etc/init.d/
but when I try to start it, I get a not found on it too!
Any ideas?
@Aidan: Look inside that file. Does it start with #!/bin/sh or #!/opt/bin/bash? Does the file mention /opt/crashplan/bin/CrashPlanEngine, and does that CrashPlanEngine file exist?
ReplyDelete@Matthew
ReplyDeleteThe file starts
#!/opt/bin/sh
and references the CrashPlanEngine
SCRIPTNAME=/opt/crashplan/bin/CrashPlanEngine
When I go to launch /opt/crashplan/bin/CrashPlanEngine start
it appears to Start OK....however I have a permissions error in the engine_error.log accessing the Java I have installed (but thats my next issue!)
Any ideas why I cannot use
/usr/syno/etc/rc.d/S99crashplan start
Cheers
Aidan
@Aiden: I bet it's because /opt/bin/sh doesn't exist on your system. Instruction 10 of the original post above said you should replace that with /opt/bin/bash.
ReplyDelete@Matthew
ReplyDeleteThanks! I think I mustn't have saved....doh! I didn't even realise when you pointed to it...
I updated the install.vars
JAVACOMMON as per your instructions above
but I get
nice: /volume1/@appstore/java7/jre/bin: Permission denied
in the engine_error.log
I have tried chmod +x on this location but no joy.....
Any suggestions on this one?
Thanks for all your help!
@Aiden: I think you must have saved before, as the original value was something like /bin/sh instead of anything in /opt.
ReplyDeleteIt looks like you wrote
JAVACOMMON=/volume1/@appstore/java7/jre/bin
when you probably wanted
JAVACOMMON=/volume1/@appstore/java7/jre/bin/java
It needs to point at the java binary, not the directory containing it.
@Matthew
ReplyDeleteExcellent again!
I now have no errors in the engine_error.log (after I changed the libjtux.so to the one you linked to above)
The service is stopping however after it is started....I will take a look through for any clue
Thanks again
Looks like I finally have it all up and running! Now to do some testing!
ReplyDeleteThanks Matthew for all your help
Been playing about with this over the past day. I appear to have an issue whereby periodically the process will terminate....no errors (that I can see)
ReplyDeleteListing all the processes shows that it is no longer running.
The listening ports are missing.
I then have to start the service (and wait a few minutes) to be able to connect the client.
I presume that whilst I cannot see the process running that the backup engine isn't doing anything?
Any seen this issue?
Confirmed that the backup is stopping along with the process... Any ideas for troubleshooting this?
ReplyDeleteThe logs shows:
ReplyDeleteLibraryPath = /usr/local/lib:/usr/java/packages/lib/arm:/lib:/usr/lib:.:lib
ClassPath = [file:/opt/crashplan/lib/, file:/usr/local/lib/, file:/opt/crashplan/lib/com.backup42.desktop.jar, file:/opt/crashplan/lang/]
My libs:
DiskStation> ls /usr/local/lib
libffi-3.0.10 libffi.a libffi.la libffi.so libffi.so.5 libffi.so.5.0.10 pkgconfig
DiskStation>
But still the error:
DiskStation> cat engine_error.log
Exception in thread "W3439822_ScanWrkr" java.lang.NoClassDefFoundError: Could not initialize class com.code42.jna.inotify.InotifyManager
I'm lost..
Ronald
@Ronald: See my comment about the inotify error on December 18 above.
ReplyDeleteGreat that fixed the issue !!
ReplyDelete10x
Still having the process die on me after a few hours.....
ReplyDeleteAny ideas where I should be looking?
@Aidan: Are you sure it's dying after some number of hours and not just when you exit the shell you started it from? Many people (including me) have had trouble with the process exiting after they log out. I, like others before me, have worked around this by running crashplan from within a "screen" session, but that is not ideal.
ReplyDeleteIf you think it's exiting for some other reason, you should be able to find something interesting in the crashplan log directory.
@Matthew
ReplyDeleteI think you are probably right enough. I will have a look at what i need to do to install screen and then script startup to use it
Cheers
Hi All,
ReplyDeleteI got crashplan installed on my 1511 but can't get the Desktop client to connect. I create the tunnel and changed the port but it doesn't connect. Do you need to take out the # before serviceport in the ui.properties
Thanks
Steven
@Stephen
ReplyDeleteYes, you need to remove this #
I installed Crashplan as described at the top on an ARM based DS410j. Also I installed Java SE for embedded from http://pcloadletter.co.uk/2011/08/23/java-package-for-synology/ , did all the libjtux.so, jna-3.2.5.jar and libffi modifications.
ReplyDeleteWhenever I restart Crashplan manually using "/etc/init.d/crashplan restart", everything works fine. However, when I reboot, crashplan starts and gives the iNotify error. How can I make sure crashplan starts at boot without errors?
TS:
jna-3.2.5.jar is placed in /opt/crashplan/lib/
After restarting crashplan with crond; same error.
I tried adding "[-x /usr/syno/etc/rc.d/S99crashplan.sh ] && /usr/syno/etc/rc.d/S99crashplan.sh restart" to rc.local, same error.
Hey everyone,
ReplyDeleteI still can't get the client to connect to the NAS. I have un comment the service port line and have forwarded my port via Putty(I think) by follow the crashplan doc. Please let me know what else to try.
Thanks
Steven
Hi Steven,
ReplyDeleteWhat happens when you run
netstat -an | grep ':424.'
Try check the status and check that the service is running
/usr/syno/etc/rc.d/S99crashplan status
I am having issues too.....
ReplyDeleteMy service keeps on stopping.
'CrashPlan Engine is stopped.'
However, under processes
27120 root 650m S N /volume1/@appstore/java7/jre/bin/java -Dfile.encoding=UTF-8 -Dapp=Cra....
I try to kill the process
Kill 27120
and it wont end.....My only option is to reboot the NAS...
Any ideas?
Here is a link to the log files if anyone has any bright ideas!
http://fileape.com/dl/SmYITjtWcuUYmr84
Cheers
Aidan
It took a while but I have successfully installed the CrashPlan Headless Client on a DiskStation 211j with an ARM Marvell CPU. The step by step instructions should work on any ARM based DiskStation.
ReplyDeleteRuns Perfectly
Complete step by step instructions are be available for awhile at:
http://db.tt/o5wYgGbn
Fell free to convert to a Wiki Article or Blog Post.
@Mark
ReplyDeleteI'll proof read it but it would be better to have a newbie ARM DiskStation User follow the instructions and install it from scratch.
I agree about the 3 files on the DropBox Accounts.
Perhaps Code42 would allow us to link to them on their site.(Unsupported) No reference required.
Hi Aidan,
ReplyDeletetcp 0 0 0.0.0.0:4242 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:4243 0.0.0.0:* LISTEN
It just seems like it is not forwarding the port over to the diskstation. Any help would be great.
Thanks
Steven
@Steven,
ReplyDeleteIt looks like the diskstation is setup correctly as the service is listening OK.
Have you checked your computer config for connecting to it?
http://support.crashplan.com/doku.php/how_to/configure_a_headless_client
You need to launch
ssh -L 4200:localhost:4243 root@IPADDRESS
e.g.
ssh -L 4200:localhost:4243 root@192.168.1.3
Put in the password, then leave the session open and connect your client.
If you edited the file correctly in the uiproperties, then it should establish a connection
I have followed the doc from crashplan, but I still can't get the desktop software to connect. Could someone send me a copy of there uiproperties.
DeleteThanks
Steven
Gary - coincidentally I was looking to set this up this weekend, so this was great timing for me. I have a DS210j with 3.2 and went through all of the steps in a couple of hours. I am a newbie as far as Synology - I haven't done anything custom to it until now.
ReplyDeleteThere were some things that could be clarified:
1) It assumes you already have followed the steps here, so including it in the pre-req section could be helpful:
http://forum.synology.com/wiki/index.php/Overview_on_modifying_the_Synology_Server,_bootstrap,_ipkg_etc#How_to_install_ipkg
2) I believe this step has a typo (the path should be /opt/lib - until I moved the file and restarted the service, everything seemed to work but CrashPlan was not able to upload any files):
************************************************************************************
DiskStation> cd /opt/
DiskStation> wget http://dl.dropbox.com/u/50398581/crashplan%20on%20NAS/libffi.so.5
********************************************************************************
3) I also had a few issues copying and pasting some things from document to putty...dashes turned to periods, etc. Maybe worth putting a note saying not to copy and paste, or to copy and paste to notepad first.
Other than that it went very well, and CrashPlan is currently in the middle of it's initial upload.
Thanks for posting this, very helpful!
This comment has been removed by the author.
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteJosh - Thanks for the corrections.
ReplyDeleteipkg install note has been added
typo has been corrected
Copy and Past has been fixed by changing the Acrobat export flavor.
Looking forward to results on how the crashplan service survives an upgrade to DSM 4.0. Who is gonna be the guinea pig? :)
ReplyDeleteHopefully someone on here who has the technical knowledge to test and fix potential 4.0 issues will give it a try and blaze the trail for us.
Of course it may just work with a simple re-link of the S99crashplan.sh file.
I have followed the doc from crashplan, but I still can't get the desktop software to connect. Could someone send me a copy of there uiproperties.
ReplyDeleteThanks
Steven
I can confirm GaryS solution is working on my DS410j, thank you so much!
ReplyDeleteHi - This can't work on DS409+ Powerpc - but look at chreggy.fr/thegeek/2012/01/10/crashplan-sur-un-synology-powerpc-ds109/
ReplyDeleteThis in french, this solutions works very nice - and takes less then 10 min to get up running. (use translate.google.com for translations)
/Per
I upgraded to DSM 4.0 beta as my backup wasn't working well anyway (I had mucked about with it at different points over the last 6 months). I followed GaryS' dropbox solution and everything held together and it seems that I *may* have a reliable backup with crashplan.
ReplyDeleteAfter the DSM update I needed to reinstall IPKG and to do this I needed to add some paths into
/root/.profile
They were
/opt/bin:/opt/sbin
Also, I needed to reinstall Java and again add the paths to the same
Incidently, I used Java 6 rather than 7 this time - not sure if that has made any difference. The reason why everything has worked this time is probably that I have installed it to a 'clean' system, and followed the instructions in sequence.
Cheers
Hi Kenneth
ReplyDeleteIn your original post, you said you also got this running on the DS1411+ but I don't think that is a real model. Was it a 411+ or a 1511+ that ou meant? I a, trying to decide on a NAS but I want crashplan to work. I was going to get a drobo but there are too many stories of slowness despite FireWire as well as complete data loss.
Hi Chuck
DeleteI have it running on a DS411+. I don't know if that particular model is available in your region but I believe that you will be pretty safe as long as you purchase one with an atom processor. Seems that those who have an ARM processor have a lot of difficulties getting crashplan running.
/Kenneth
Hey Kenneth
DeleteYep seems like the ARM processors are a bit more difficult though it seems some folks on your blog have actually made some headway. I can buy the 411j, 411, or 411+ Ver II. I was hoping to find the original 411+ at a discount but I am not having any luck so far. I was tempted by seeing people get the 411j working but it seems like it could be a stretch and since I am already trying to just replace a hackintosh I want to keep it as kluge free as possible (though this is a bit of a kluge already!) thanks for your blog. It has been very helpful.
Some one please help me with connect the GUI interface to the Diskstation. That is the step I'm stuck on.
ReplyDeleteThanks
Steven
GENIUS!!!
ReplyDeletehttp://pcloadletter.co.uk/2012/01/30/crashplan-syno-package/
There is now an installer available.....
Not tried it but surely must be soooo much simpler!
Steven
ReplyDeleteTake a look at
http://support.crashplan.com/doku.php/how_to/configure_a_headless_client
Will this disappear when I upgrade from DSM 3.2 -> DSM 4.0? If yes, will this guide work with DSM 4.0 so I can reinstall?
ReplyDeleteThe steps above work just fine for a new install on DSM 4.0. I, myself, installed over the top of my current installation by backing up my crashplan directory and moving it back after a new installation so that I wouldn't lose all my settings. Check out the steps I took if your interested:
ReplyDeletehttp://jaredstechstuff.blogspot.com/2012/03/fixing-crashplan-after-synology-dsm-40.html
Since the upgrade to 4 my crashplan is not working anymore.
ReplyDeleteFollowed the above instructions but somehow the com.backup42.desktop.jar is deleted after a short while...
So I copy back the missing file and start crashplan:
DiskStation> netstat -an | grep LISTEN | grep ':424.'
tcp 0 0 0.0.0.0:4242 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:4243 0.0.0.0:* LISTEN
Seems to be started but now able to connect:
Tried connect to the crashplan using:
Install your desktop client and point it towards the headless service you just installed. Follow the instructions in the crashplan website for this (http://support.crashplan.com/doku.php/how_to/configure_a_headless_client)
While connect it came in the password screen and keeps spinning
I hope someone can help me out.
KAR
I don't have the complete answer here, but I think the deletion of com.backup42.desktop.jar is a result of the release of Crashplan 3.2 a couple days ago, not your upgrade to DSM 4.0. Crashplan does an auto-upgrade, but the upgrade script has the same kind of problems that the original install script did: it assumes that mv has a -v flag and that ps accepts certain options. If you look at the upgrade script you can figure out how to attempt the upgrade manually.
ReplyDeleteThat said, my DS212 is currently non-bootable (pingable, but HTTP and ssh reject connections, and the status light flashes orange), perhaps a result of my attempt to get Crashplan working again. I'm waiting to hear from Synology about how best to proceed. :-(
Sorry to Hear your DS is not working anymore... I'v been busy with it the whole day and did not realize it is crashplan causing the issue... Any Idea where the upgrade script from autoupgrade is located?
ReplyDeleteThx,
Ronald
If you don't already know....
ReplyDeleteThere is a repository with Java and Crashplan as a Synology package
Add
http://pcloadletter.comlu.com
In /opt/crashplan, look for directories with "upgrade" in the name. I think I saw two. They may have been identical at one point, and then the upgrade script starts moving the old files out of the way and moving the new files from the upgrade directory into place. The upgrade script itself was called upgrade.sh.
ReplyDelete@Aiden: Yes, I saw that there is now an unofficial Synology package for Crashplan. That was created just after I originally got mine working, so I didn't risk trying it, but if the DSM 4.0 upgrade was going to blow away my Crashplan installation, I was going to try the package next. Did the packaged Crashplan survive the Crashplan 3.2 upgrade last week, or did it require a re-install of the package?
The package is also not working in my case...I'm not able to connect using my client to adapt the repository form the current one. Anybody know which file to edit to update the ID to the onde from my old install?
DeleteI had same issue with this package but a simply reboot of the DS was enough
ReplyDeleteYou mean the one from the repository is working for you? What kind of nas do you have ?
ReplyDeleteI installed yesterday on my ds-712+ from the repository after upgrading to dam 4.0
ReplyDeleteYou will need to reboot and then "adopt" so you don't have to seed from scratch
Did the following:
ReplyDelete1 - removed "/usr/syno/etc/rc.d/S99crashplan start" from my /etc/rc.local file
2 - Stopped all crashplan Services
3 - installed the Crashplan package from http://pcloadletter.comlu.com
4 - rebooted
5 - started desktop client and point it towards the headless service
6 - Changed the guid (double click the Crashplan Icon and enter guid which can be retrieved when you check your account at the crashplan site)
7 - For some reason it could not use the old backup destication Si I needed to move the Backup achive (just change the location and it started to move)
HI there!
ReplyDeleteI have a Synology DS411+ with Crashplan. I installed the version 3.0.3 last year following the instruction on this blog + http://forum.synology.com/wiki/index.php/CrashPlan_Headless_Client
It was working perfectly until now. My guess is that the new version 3.2 is the problem.
Anyone facing the same issue?
How do I unistall the Crashplan? I wanna try install it from scratch again. Althought I might lose my backups.
Thanks, Flavio
Update: Synology support got back to me within one business day and told me I should use Synology Assistant to reinstall the same version of DSM that I had before. It worked perfectly, and all of my settings were preserved (which is more than I had hoped for). Then I upgraded to DSM 4.0, installed the Crashplan package (according to the instructions), and adopted my previous backup. Everything was just about perfect (other than the fact that Crashplan has spent a very long time scanning and rescanning my files and compacting and recompacting my old backups).
ReplyDeleteOne big difference with the packaged version is that Crashplan runs as a "crashplan" user instead of as root, so I needed to "chown -R crashplan" my backups, and Crashplan still has trouble seeing some files I had saved with 700 permissions. I'll probably have to locate and fix all such permissions, though I wish Crashplan had been installed so that it could read all files.
Hm, I have a number of Synology devices on which I need to upgrade Crashplan. Does anyone have a good process for doing this? Or am I going to have to uninstall the client on each device and reinstall it and reconfigure? (*cries at the amount of work possibly involved*) :p
ReplyDeleteOk I have spent probably 10 hors on this now with no luck.
ReplyDeleteEither DSM 4.0 or Upgrading to Crashplan 3.2 broke my DS1010+ DSM 4.0.
Even more weird, when I log into my Crashplan account now and look at restorable files, it says my DS has never been backed up.
The install seems to have gone fine, it just will not connect the Win7 Desktop client to the DS. You can tell the client sees the DS as it prompts for a Crashplan login as opposed to when it does not see it it does not prompt, however it does not accept my Crashplan login. The login is good because if you log in the Desktop client running solely on the Win 7 PC (ie connected to the PC not DS) the login works.
I tried both the manual Crashplan install from Synology's Wiki and did it exactl the same as when I was running DSM 3.2 and Crashplan 3.03. I also tried the Package, which is awesome and saves a lot of effort, but it displays the exact same symptoms. I do not get a chance to enter the guid again anywhere as Ronald says, which I can access from my Crashplan account page.
I have a Synology DS212+ running the latest Crashplan Headless client.
ReplyDeleteWhen I run the following command:
netstat -an | grep ':424.'
I only see the NAS listening on 4243 and not on 4242.
I had this running successfully until a couple of weeks ago when crashplan decided to do an auto update. I just finished updating everything manually and can't connect do to the NAS not listening on 4242.
Does anybody have any ideas what I might be missing?
Thanks...
Have the same issue as Ashrak, after the update I only see 4243 listening.
ReplyDeleteI only have 4243 listening also.
ReplyDeleteWas 4242 listening before for you? I never looked before the upgrade what ports the NAS was listening to but if I look inside my Crashplan client when connected to my PC as the client rather than redirecting it to the Diskstation, I can see the clients listed there and it says that my Diskstation was last connected at x.x.x.x:4242.
Prior to the crashplan auto update on 3/15 I had everything running like clockwork for a little over a month. Yes, it was listening on both 4243 and 4242. After the reinstalled everything following the update the NAS is only listening on 4243.
ReplyDeleteI'm hoping somebody has some word of wisdom.
Well, oddly enough it started listening on both 4242 and 4243 the next afternoon. I did not change anything during that time so I can't explain why it started working all of a sudden.
ReplyDeleteI've moved on to being aggrevated with the performance of surveillance station.
;)
Mine just started too after doing the package upgrade on the Diskstation.
ReplyDeleteI'm guessing they broke something in the 3.2 update and have since resolved it in 3.2.x.
Once you do the update, you can just 'adopt' the 'new' machine it finds in the headless client. I don't think you need to worry about backing up the old client or logs or anything (unless your DS is a backup destination).
If anyone else comes across the java "exception in thread" error, I wanted to post another solution that worked for me:
ReplyDeletehttp://randomwindowstips.wordpress.com/2013/02/25/crashplan-pro-for-linux-stuck-at-waiting-for-backup-or-connecting-to-backup-destination/
I hope this helps someone out there!
1.I installed it in linux, "crashplan central" is always showing "waiting for connection"
ReplyDelete2.With proxy even it is not allowing me to create a account.
3.Unable to install crash plan in synology, i tried so many times still always getting install.sh file problem, even i downloaded 3/ 4 times
4.Even if after installation, unable to launch
While installing in synology, getting "Syntax error from install.sh unexpected "(", expected "then", line no:179"
ReplyDeleteThen if i am visiting that file, then in 179 line, having the following code
if [[ ! ($IS_OPENJDK || $IS_HOTSPOT) ]]; then
echo ""
echo "The current installed version of Java is not supported."
echo "$APP_BASENAME requires the Sun JRE or OpenJDK."
exit 1
fi
Plz any body guide me on this, after so many attempt, finally i could not able to install it in my synology machine.Hope i will get reply soon>>>>>>>>>>>>
I kept getting restart.(date).log files in /volume1/@appstore/Crashplan/bin.
ReplyDeleteThere was some permissions issue creating the CrashPlan.pid file.
There must be a cleaner solution, but I was more interested in getting it to work. In the end, I changed in CrashPlanEgine the line TARGETDIR="$SCRIPTDIR/.." to TARGETDIR=/volume1/@appstore/CrashPlan (which is correct for my setup). After this, the periodic restart stopped, and CrashPlan runs.
Added: this is on a DS214 running DSM5
Delete