Crashplan v4.8 not updating/working

Status
Not open for further replies.

Paul W.

Cadet
Joined
Dec 1, 2015
Messages
9
Hi Andrew,

With the ps command, you want to make sure a java process is listening on all IPs on the specified port, i.e. *.*4243

With the sockstat command, same thing, although I thing you get two processes if the service is launched, the service (4243 by default) and something else. From the output you're showing, it doesn't look like the process is running.

I had to make sure to use the GUI button to start and stop the process myself, as using "service crashplan start" would give me an error, and "service crashplan onestart" would start changing the .ui_info file.

In short, there's not a way to do this easily. It just requires some "beertime" tinkering.
 

Andrew076

Patron
Joined
Apr 5, 2015
Messages
206
Okay, I am "fairly sure" my issues are still with Java, so from within the Crashplan Jail:

ee usr/pbi/crashplan-amd64/share/crashplan/log/engine_error.log

I get the following results (the SEVERE) seems to be "severe"

Java HotSpot(TM) Client VM warning: Can't detect initial thread stack location - find_vma failed

/etc/host.conf: line 2: bad command `hosts'
/etc/host.conf: line 3: bad command `dns'
Nov 04, 2016 11:00:39 AM com.google.common.util.concurrent.ServiceManager$ServiceListener failed
SEVERE: Service AuthorizedStorageService [FAILED] has failed in the STARTING state.
java.io.IOException: IO error: lock /usr/pbi/crashplan-amd64/share/crashplan/conf/adb/LOCK: Resource temporarily unavailable
at com.code42.jna.leveldb.api.Util.checkError(Util.java:22)
at com.code42.jna.leveldb.api.DBFactory.open(DBFactory.java:29)
at com.code42.archive.AbstractLevelDBFile.open(AbstractLevelDBFile.java:72)
at com.code42.service.storage.AuthorizedStorageService.open(AuthorizedStorageService.java:126)
at com.code42.service.storage.AuthorizedStorageService.startUp(AuthorizedStorageService.java:82)
at com.google.common.util.concurrent.AbstractIdleService$2$1.run(AbstractIdleService.java:54)
at com.google.common.util.concurrent.Callables$3.run(Callables.java:95)
at java.lang.Thread.run(Thread.java:745)

Exception in thread "AuthorizedStorageService STARTING" java.lang.RuntimeException: java.io.IOException: IO error: lock /usr/pbi/crashplan-amd64/share/crashplan/conf/adb/LOCK: Resource temporarily unavailable
at com.google.common.base.Throwables.propagate(Throwables.java:160)
file "engine_error.log", 28 lines

I added export LD_LIBRARY_PATH=/usr/pbi/crashplan-amd64/share/crashplan/jre/lib/i386/jli/ to install.vars
ee /usr/pbi/crashplan-amd64/share/crashplan/install.vars

But I am not 100% sure I put it where it needed to go as I didn't see the shebang (took me a while to find out what that was!)
TARGETDIR=/usr/pbi/crashplan-amd64/share/crashplan
BINSDIR=/usr/pbi/crashplan-amd64/share/crashplan/bin
JAVACOMMON=/usr/pbi/crashplan-amd64/share/crashplan/jre/bin/java
export LD_LIBRARY_PATH=/usr/pbi/crashplan-amd64/share/crashplan/jre/lib/i386/jli/
APP_BASENAME=CrashPlan
DIR_BASENAME=crashplan
JRE_X64_DOWNLOAD_URL=http://download.code42.com/installs/proserver/jre/jre-7u45-linux-x64.tgz
JRE_I586_DOWNLOAD_URL=http://download.code42.com/installs/proserver/jre/jre-7u45-linux-i586.tgz
TARGETDIR=/usr/pbi/crashplan-amd64/share/crashplan
TARGETDIR=/usr/pbi/crashplan-amd64/share/crashplan
TARGETDIR=/usr/pbi/crashplan-amd64/share/crashplan
TARGETDIR=/usr/pbi/crashplan-amd64/share/crashplan
TARGETDIR=/usr/pbi/crashplan-amd64/share/crashplan

On the other hand, when I start crashplan
service crashplan start
I get the following message:
Starting CrashPlan Engine ... Using standard startup
OK
but when I check
service crashplan status
I get the following message:
crashplan is not running.

running sockstat -l
results in the following:
USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS
root java 28841 88 stream (not connected)
root java 28841 100 stream(not connected)
root java 28841 139 tcp4 *:4268 *:*
root java 28841 140 tcp4 192.168.1.2:4269 *:*
root python2.7 5039 3 tcp4 192.168.1.2:12352 *:*
root syslogd 4724 4 dgram /var/run/log
root syslogd 4724 5 dgram /var/run/logpriv
root syslogd 4724 6 udp6 *:514 *:*
root syslogd 4724 7 udp4 *:514 *:*
root@crashplan_1:/var/lib/crashplan #
 
Last edited:

Andrew076

Patron
Joined
Apr 5, 2015
Messages
206
I made the changes suggested above (adding the following to ee /etc/hosts:

echo "" >> /etc/hosts
host central.crashplanpro.com | awk '{print $4 "\t" $1}' >> /etc/hosts
host central.crashplan.com | awk '{print $4 "\t" $1}' >> /etc/hosts
host esa-sea.crashplan.com | awk '{print $4 "\t" $1 " esa-sea.crashplanpro.com"}' >> /etc/hosts
host deg-sea.crashplan.com | awk '{print $4 "\t" $1}' >> /etc/hosts
echo "" >> /etc/hosts


# : src/etc/hosts,v 1.16 2003/01/28 21:29:23 dbaker Exp $
#
# Host Database
#
# This file should contain the addresses and aliases for local hosts that
# share this file. Replace 'my.domain' below with the domainname of your
# machine.
#
# In the presence of the domain name service or NIS, this file may
# not be consulted at all; see /etc/nsswitch.conf for the resolution order.
#
#
::1 localhost localhost.localdomain
127.0.0.1 localhost localhost.localdomain crashplan_1
192.168.1.2 crashplan_1
echo "" >> /etc/hosts
host central.crashplanpro.com | awk '{print $4 "\t" $1}' >> /etc/hosts
host central.crashplan.com | awk '{print $4 "\t" $1}' >> /etc/hosts
host esa-sea.crashplan.com | awk '{print $4 "\t" $1 " esa-sea.crashplanpro.com"}
host deg-sea.crashplan.com | awk '{print $4 "\t" $1}' >> /etc/hosts
echo "" >> /etc/hosts

however the error log is still showing the following:

Java HotSpot(TM) Client VM warning: Can't detect initial thread stack location - find_vma failed
/etc/host.conf: line 2: bad command `hosts'
/etc/host.conf: line 3: bad command `dns'
Nov 06, 2016 12:05:33 AM com.google.common.util.concurrent.ServiceManager$ServiceListener failed
SEVERE: Service AuthorizedStorageService [FAILED] has failed in the STARTING state.
java.io.IOException: IO error: lock /usr/pbi/crashplan-amd64/share/crashplan/conf/adb/LOCK: Resource temporarily unavailable
at com.code42.jna.leveldb.api.Util.checkError(Util.java:22)
at com.code42.jna.leveldb.api.DBFactory.open(DBFactory.java:29)
at com.code42.archive.AbstractLevelDBFile.open(AbstractLevelDBFile.java::72)
at com.code42.service.storage.AuthorizedStorageService.open(AuthorizedStorageService.java:126)
at com.code42.service.storage.AuthorizedStorageService.startUp(AuthorizedStorageService.java:82)
at com.google.common.util.concurrent.AbstractIdleService$2$1.run(AbstractIdleService.java:54)
at com.google.common.util.concurrent.Callables$3.run(Callables.java:95)
at java.lang.Thread.run(Thread.java:745)

Exception in thread "AuthorizedStorageService STARTING" java.lang.RuntimeException: java.io.IOException: IO error: lock /usr/pbi/crashplan-amd64/share/crashplan/conf/adb/LOCK: Resource temporarily unavailable
at com.google.common.base.Throwables.propagate(Throwables.java:160)
at com.google.common.util.concurrent.AbstractIdleService$2$1.run(AbstractIdleService.java:58)
at com.google.common.util.concurrent.Callables$3.run(Callables.java:95)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: IO error: lock /usr/pbi/crashplan-amd64/share/crashplan/conf/adb/LOCK: Resource temporarily unavailable
at com.code42.jna.leveldb.api.Util.checkError(Util.java:22)
at com.code42.jna.leveldb.api.DBFactory.open(DBFactory.java:29)
at com.code42.archive.AbstractLevelDBFile.open(AbstractLevelDBFile.java::72)
at com.code42.service.storage.AuthorizedStorageService.open(AuthorizedStorageService.java:126)
at com.code42.service.storage.AuthorizedStorageService.startUp(AuthorizeedStorageService.java:82)
at com.google.common.util.concurrent.AbstractIdleService$2$1.run(AbstractIdleService.java:54)
... 2 more


I seem to be missing a step...
 

musashiXXX

Cadet
Joined
Apr 21, 2016
Messages
5
I made the changes suggested above (adding the following to ee /etc/hosts:

echo "" >> /etc/hosts
host central.crashplanpro.com | awk '{print $4 "\t" $1}' >> /etc/hosts
host central.crashplan.com | awk '{print $4 "\t" $1}' >> /etc/hosts
host esa-sea.crashplan.com | awk '{print $4 "\t" $1 " esa-sea.crashplanpro.com"}' >> /etc/hosts
host deg-sea.crashplan.com | awk '{print $4 "\t" $1}' >> /etc/hosts
echo "" >> /etc/hosts


# : src/etc/hosts,v 1.16 2003/01/28 21:29:23 dbaker Exp $
#
# Host Database
#
# This file should contain the addresses and aliases for local hosts that
# share this file. Replace 'my.domain' below with the domainname of your
# machine.
#
# In the presence of the domain name service or NIS, this file may
# not be consulted at all; see /etc/nsswitch.conf for the resolution order.
#
#
::1 localhost localhost.localdomain
127.0.0.1 localhost localhost.localdomain crashplan_1
192.168.1.2 crashplan_1
echo "" >> /etc/hosts
host central.crashplanpro.com | awk '{print $4 "\t" $1}' >> /etc/hosts
host central.crashplan.com | awk '{print $4 "\t" $1}' >> /etc/hosts
host esa-sea.crashplan.com | awk '{print $4 "\t" $1 " esa-sea.crashplanpro.com"}
host deg-sea.crashplan.com | awk '{print $4 "\t" $1}' >> /etc/hosts
echo "" >> /etc/hosts

however the error log is still showing the following:

Java HotSpot(TM) Client VM warning: Can't detect initial thread stack location - find_vma failed
/etc/host.conf: line 2: bad command `hosts'
/etc/host.conf: line 3: bad command `dns'
Nov 06, 2016 12:05:33 AM com.google.common.util.concurrent.ServiceManager$ServiceListener failed
SEVERE: Service AuthorizedStorageService [FAILED] has failed in the STARTING state.
java.io.IOException: IO error: lock /usr/pbi/crashplan-amd64/share/crashplan/conf/adb/LOCK: Resource temporarily unavailable
at com.code42.jna.leveldb.api.Util.checkError(Util.java:22)
at com.code42.jna.leveldb.api.DBFactory.open(DBFactory.java:29)
at com.code42.archive.AbstractLevelDBFile.open(AbstractLevelDBFile.java::72)
at com.code42.service.storage.AuthorizedStorageService.open(AuthorizedStorageService.java:126)
at com.code42.service.storage.AuthorizedStorageService.startUp(AuthorizedStorageService.java:82)
at com.google.common.util.concurrent.AbstractIdleService$2$1.run(AbstractIdleService.java:54)
at com.google.common.util.concurrent.Callables$3.run(Callables.java:95)
at java.lang.Thread.run(Thread.java:745)

Exception in thread "AuthorizedStorageService STARTING" java.lang.RuntimeException: java.io.IOException: IO error: lock /usr/pbi/crashplan-amd64/share/crashplan/conf/adb/LOCK: Resource temporarily unavailable
at com.google.common.base.Throwables.propagate(Throwables.java:160)
at com.google.common.util.concurrent.AbstractIdleService$2$1.run(AbstractIdleService.java:58)
at com.google.common.util.concurrent.Callables$3.run(Callables.java:95)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: IO error: lock /usr/pbi/crashplan-amd64/share/crashplan/conf/adb/LOCK: Resource temporarily unavailable
at com.code42.jna.leveldb.api.Util.checkError(Util.java:22)
at com.code42.jna.leveldb.api.DBFactory.open(DBFactory.java:29)
at com.code42.archive.AbstractLevelDBFile.open(AbstractLevelDBFile.java::72)
at com.code42.service.storage.AuthorizedStorageService.open(AuthorizedStorageService.java:126)
at com.code42.service.storage.AuthorizedStorageService.startUp(AuthorizeedStorageService.java:82)
at com.google.common.util.concurrent.AbstractIdleService$2$1.run(AbstractIdleService.java:54)
... 2 more


I seem to be missing a step...


Those are commands... you run them, not add them directly to the /etc/hosts file. In my documentation of this process, I wrote it that way so you could be sure to always get the current IP for each host, and also laziness. Each command will append the proper line to /etc/hosts. It's faster to copy/paste a block of commands into a prompt than to look up each one manually, invoke an editor, add the line in the proper format, etc. The link I posted contains the steps I use whenever I need to deploy CrashPlan on FreeNAS, which is often, so it speeds up the deployment process if I can simply copy/paste commands directly from my documentation :smile:

I've also added a bit of text to this part of my docs to clarify that these are commands that should be run from the terminal.
 

Andrew076

Patron
Joined
Apr 5, 2015
Messages
206
Those are commands... you run them, not add them directly to the /etc/hosts file. In my documentation of this process, I wrote it that way so you could be sure to always get the current IP for each host, and also laziness. Each command will append the proper line to /etc/hosts. It's faster to copy/paste a block of commands into a prompt than to look up each one manually, invoke an editor, add the line in the proper format, etc. The link I posted contains the steps I use whenever I need to deploy CrashPlan on FreeNAS, which is often, so it speeds up the deployment process if I can simply copy/paste commands directly from my documentation :)

I've also added a bit of text to this part of my docs to clarify that these are commands that should be run from the terminal.
lol... okay thanks for that my bad :)

I removed the lines from etc/hosts

and ran the commands as suggested but still no luck so I decided I needed to do this methodically.

first off I verified that I had installed java and checked and the java file was located in

/usr/pbi/crashplan-amd64/share/crashplan/jre/bin/

I then edited install.vars
ee /usr/pbi/crashplan-amd64/share/crashplan/install.vars

changing the JAVACOMMON line to match the path of java
TARGETDIR=/usr/pbi/crashplan-amd64/share/crashplan
BINSDIR=/usr/pbi/crashplan-amd64/share/crashplan/bin
JAVACOMMON=/usr/pbi/crashplan-amd64/share/crashplan/jre/bin/java
export LD_LIBRARY_PATH=/usr/pbi/crashplan-amd64/share/crashplan/jre/lib/i386/jli/
APP_BASENAME=CrashPlan
DIR_BASENAME=crashplan
JRE_X64_DOWNLOAD_URL=http://download.code42.com/installs/proserver/jre/jre-7u45-linux-x64.tgz
JRE_I586_DOWNLOAD_URL=http://download.code42.com/installs/proserver/jre/jre-7u45-linux-i586.tgz
TARGETDIR=/usr/pbi/crashplan-amd64/share/crashplan

Then I confirmed the "libjli.so" file was in fact located in
/usr/pbi/crashplan-amd64/share/crashplan/jre/lib/i386/jli/ (it was)
for Freenas noobs like me you would do that by the following:
cd /usr/pbi/crashplan-amd64/share/crashplan/jre/lib/i386/jli/
ls
libjli.so was the only file in the directory for me

Then I edited CrashPlanEngine and added the comments and the export line
ee /usr/pbi/crashplan-amd64/share/crashplan/bin/CrashPlanEngine
## Point to new version of Java
## See also: "JAVACOMMON" in: /usr/pbi/crashplan-amd64/share/crashplan/install.vars
export LD_LIBRARY_PATH="/usr/pbi/crashplan-amd64/share/crashplan/jre/lib/i386/jli"

#!/bin/bash

#############################################################
# Init script for CrashPlanEngine
#############################################################

# Common functions used for startup operations
standard_startup() {

echo "Using standard startup"

cd $TARGETDIR

nice -n 19 $JAVACOMMON $SRV_JAVA_OPTS -classpath $FULL_CP com.backup42.service.CPService > $TARGETDIR/log/engine_output.log


But I seem to have lost ground. Because now I get these results:

root@crashplan_1:/etc # service crashplan restart
/usr/pbi/crashplan-amd64/share/crashplan/bin/CrashPlanEngine: pushd: not found
/usr/pbi/crashplan-amd64/share/crashplan/bin/CrashPlanEngine: popd: not found
/usr/pbi/crashplan-amd64/share/crashplan/bin/CrashPlanEngine: [[: not found
Did not find //../install.vars file.
/usr/pbi/crashplan-amd64/share/crashplan/bin/CrashPlanEngine: pushd: not found
/usr/pbi/crashplan-amd64/share/crashplan/bin/CrashPlanEngine: popd: not found
/usr/pbi/crashplan-amd64/share/crashplan/bin/CrashPlanEngine: [[: not found
Did not find //../install.vars file.
root@crashplan_1:/etc # cd /usr/pbi/crashplan-amd64/share/crashplan/jre/lib/i386/jli/
root@crashplan_1:/usr/pbi/crashplan-amd64/share/crashplan/jre/lib/i386/jli # ls
libjli.so
root@crashplan_1:/usr/pbi/crashplan-amd64/share/crashplan/jre/lib/i386/jli # cd
root@crashplan_1:~ # service crashplan restart
/usr/pbi/crashplan-amd64/share/crashplan/bin/CrashPlanEngine: pushd: not found
/usr/pbi/crashplan-amd64/share/crashplan/bin/CrashPlanEngine: popd: not found
/usr/pbi/crashplan-amd64/share/crashplan/bin/CrashPlanEngine: [[: not found
Did not find //../install.vars file.
/usr/pbi/crashplan-amd64/share/crashplan/bin/CrashPlanEngine: pushd: not found
/usr/pbi/crashplan-amd64/share/crashplan/bin/CrashPlanEngine: popd: not found
/usr/pbi/crashplan-amd64/share/crashplan/bin/CrashPlanEngine: [[: not found
 

Andrew076

Patron
Joined
Apr 5, 2015
Messages
206
Also, can anyone confirm, when you delete a plugin and a jail does it delete all the settings you made? I am considering deleting the jail and starting again!
 

musashiXXX

Cadet
Joined
Apr 21, 2016
Messages
5
lol... okay thanks for that my bad :)

I removed the lines from etc/hosts

and ran the commands as suggested but still no luck so I decided I needed to do this methodically.

first off I verified that I had installed java and checked and the java file was located in

/usr/pbi/crashplan-amd64/share/crashplan/jre/bin/

I then edited install.vars
ee /usr/pbi/crashplan-amd64/share/crashplan/install.vars

changing the JAVACOMMON line to match the path of java
TARGETDIR=/usr/pbi/crashplan-amd64/share/crashplan
BINSDIR=/usr/pbi/crashplan-amd64/share/crashplan/bin
JAVACOMMON=/usr/pbi/crashplan-amd64/share/crashplan/jre/bin/java
export LD_LIBRARY_PATH=/usr/pbi/crashplan-amd64/share/crashplan/jre/lib/i386/jli/
APP_BASENAME=CrashPlan
DIR_BASENAME=crashplan
JRE_X64_DOWNLOAD_URL=http://download.code42.com/installs/proserver/jre/jre-7u45-linux-x64.tgz
JRE_I586_DOWNLOAD_URL=http://download.code42.com/installs/proserver/jre/jre-7u45-linux-i586.tgz
TARGETDIR=/usr/pbi/crashplan-amd64/share/crashplan

Then I confirmed the "libjli.so" file was in fact located in
/usr/pbi/crashplan-amd64/share/crashplan/jre/lib/i386/jli/ (it was)
for Freenas noobs like me you would do that by the following:
cd /usr/pbi/crashplan-amd64/share/crashplan/jre/lib/i386/jli/
ls
libjli.so was the only file in the directory for me

Then I edited CrashPlanEngine and added the comments and the export line
ee /usr/pbi/crashplan-amd64/share/crashplan/bin/CrashPlanEngine
## Point to new version of Java
## See also: "JAVACOMMON" in: /usr/pbi/crashplan-amd64/share/crashplan/install.vars
export LD_LIBRARY_PATH="/usr/pbi/crashplan-amd64/share/crashplan/jre/lib/i386/jli"

#!/bin/bash

#############################################################
# Init script for CrashPlanEngine
#############################################################

# Common functions used for startup operations
standard_startup() {

echo "Using standard startup"

cd $TARGETDIR

nice -n 19 $JAVACOMMON $SRV_JAVA_OPTS -classpath $FULL_CP com.backup42.service.CPService > $TARGETDIR/log/engine_output.log


But I seem to have lost ground. Because now I get these results:

root@crashplan_1:/etc # service crashplan restart
/usr/pbi/crashplan-amd64/share/crashplan/bin/CrashPlanEngine: pushd: not found
/usr/pbi/crashplan-amd64/share/crashplan/bin/CrashPlanEngine: popd: not found
/usr/pbi/crashplan-amd64/share/crashplan/bin/CrashPlanEngine: [[: not found
Did not find //../install.vars file.
/usr/pbi/crashplan-amd64/share/crashplan/bin/CrashPlanEngine: pushd: not found
/usr/pbi/crashplan-amd64/share/crashplan/bin/CrashPlanEngine: popd: not found
/usr/pbi/crashplan-amd64/share/crashplan/bin/CrashPlanEngine: [[: not found
Did not find //../install.vars file.
root@crashplan_1:/etc # cd /usr/pbi/crashplan-amd64/share/crashplan/jre/lib/i386/jli/
root@crashplan_1:/usr/pbi/crashplan-amd64/share/crashplan/jre/lib/i386/jli # ls
libjli.so
root@crashplan_1:/usr/pbi/crashplan-amd64/share/crashplan/jre/lib/i386/jli # cd
root@crashplan_1:~ # service crashplan restart
/usr/pbi/crashplan-amd64/share/crashplan/bin/CrashPlanEngine: pushd: not found
/usr/pbi/crashplan-amd64/share/crashplan/bin/CrashPlanEngine: popd: not found
/usr/pbi/crashplan-amd64/share/crashplan/bin/CrashPlanEngine: [[: not found
Did not find //../install.vars file.
/usr/pbi/crashplan-amd64/share/crashplan/bin/CrashPlanEngine: pushd: not found
/usr/pbi/crashplan-amd64/share/crashplan/bin/CrashPlanEngine: popd: not found
/usr/pbi/crashplan-amd64/share/crashplan/bin/CrashPlanEngine: [[: not found

Your shebang line in CrashPlanEngine is incorrect. Take a look at mine: https://nefaria.com/wp-content/uploads/2016/05/CrashPlanEngine.png ... keep in mind, I did not modify that; that's what was there already. Probably not a good idea to mess with it. So, remove the line:


## Point to new version of Java
## See also: "JAVACOMMON" in: /usr/pbi/crashplan-amd64/share/crashplan/install.vars
export LD_LIBRARY_PATH="/usr/pbi/crashplan-amd64/share/crashplan/jre/lib/i386/jli"

#!/bin/bash <---- REMOVE THIS!

#############################################################
# Init script for CrashPlanEngine
#############################################################



And insert the following line at the very top of the CrashPlanEngine file:

#!/usr/pbi/crashplan-amd64/bin/bash

Optionally, verify that it actually exists first (run this from the command prompt):

ls -l /usr/pbi/crashplan-amd64/bin/bash


These next three things really shouldn't matter but I'm noting them here for posterity. You do not need the LD_LIBRARY_PATH variable set in install.vars. Remove it. You have TARGETDIR defined twice. Finally, the file (as it comes from Code42) begins with a blank line. Again, these things shouldn't cause trouble because it appears that CrashPlanEngine simply sources that file -- since there's nothing wrong syntactically, it should be fine... but fix it just in case :smile: When customizing things like this it's best to try to keep config files as close to the original as possible. Here's a screenshot of what mine looks like: https://nefaria.com/wp-content/uploads/2016/05/install.vars_.png

Once you've done all this, restart the service and see what happens.
 

Andrew076

Patron
Joined
Apr 5, 2015
Messages
206
Your shebang line in CrashPlanEngine is incorrect. Take a look at mine: https://nefaria.com/wp-content/uploads/2016/05/CrashPlanEngine.png ... keep in mind, I did not modify that; that's what was there already. Probably not a good idea to mess with it. So, remove the line:


## Point to new version of Java
## See also: "JAVACOMMON" in: /usr/pbi/crashplan-amd64/share/crashplan/install.vars
export LD_LIBRARY_PATH="/usr/pbi/crashplan-amd64/share/crashplan/jre/lib/i386/jli"

#!/bin/bash <---- REMOVE THIS!

#############################################################
# Init script for CrashPlanEngine
#############################################################



And insert the following line at the very top of the CrashPlanEngine file:

#!/usr/pbi/crashplan-amd64/bin/bash

Optionally, verify that it actually exists first (run this from the command prompt):

ls -l /usr/pbi/crashplan-amd64/bin/bash


These next three things really shouldn't matter but I'm noting them here for posterity. You do not need the LD_LIBRARY_PATH variable set in install.vars. Remove it. You have TARGETDIR defined twice. Finally, the file (as it comes from Code42) begins with a blank line. Again, these things shouldn't cause trouble because it appears that CrashPlanEngine simply sources that file -- since there's nothing wrong syntactically, it should be fine... but fix it just in case :) When customizing things like this it's best to try to keep config files as close to the original as possible. Here's a screenshot of what mine looks like: https://nefaria.com/wp-content/uploads/2016/05/install.vars_.png

Once you've done all this, restart the service and see what happens.

So I didn't add the part you mentioned to remove, but I did follow a step from an earlier step by step process that required the install of bash. Anyway I started over because even with the changes you suggested I couldn't get it to work, something wasn't lining up. I did get it to work however and I will post that next.
 

musashiXXX

Cadet
Joined
Apr 21, 2016
Messages
5

So I didn't add the part you mentioned to remove, but I did follow a step from an earlier step by step process that required the install of bash. Anyway I started over because even with the changes you suggested I couldn't get it to work, something wasn't lining up. I did get it to work however and I will post that next.


Glad to hear it.
 

Andrew076

Patron
Joined
Apr 5, 2015
Messages
206
Directions for users with Crashplan installed already and using a Windows machine as the Graphic User Interphase
Major thanks to musashiXXX

Delete Crashplan Plugin and then reinstall.
Accept License
Then I followed musashiXXX method starting with Step 5 but modified slightly as follows:

From within the Crashplan Jail

cd /usr/pbi/crashplan-amd64/share/crashplan
wget --no-check-certificate https://download.code42.com/installs/linux/install/CrashPlan/CrashPlan_4.8.0_Linux.tgz
tar -xf CrashPlan_4.8.0_Linux.tgz
cd crashplan-install
cpio -idv < CrashPlan_4.8.0.cpi
cd ..
rm -r lib*
cp -r crashplan-install/lib* .
sysrc crashplan_enable=YES

cd /usr/pbi/crashplan-amd64
wget `cat /usr/pbi/crashplan-amd64/share/crashplan/crashplan-install/install.defaults | grep I586 | cut -d'=' -f2`
mkdir jre-linux-i586-1.8.0_72
mv jre-linux-i586-1.8.0_72.tgz jre-linux-i586-1.8.0_72/
cd jre-linux-i586-1.8.0_72
tar -xf jre-linux-i586-1.8.0_72.tgz

ee /usr/pbi/crashplan-amd64/share/crashplan/bin/CrashPlanEngine
Add:

## Point to new version of Java
## See also: "JAVACOMMON" in: /usr/pbi/crashplan-amd64/share/crashplan/install.vars
export LD_LIBRARY_PATH="/usr/pbi/crashplan-amd64/jre-linux-i586-1.8.0_72/jre/lib/i386/jli"


right below

#############################################################
# Init script for CrashPlanEngine
#############################################################

The first part of my CrashPlanEngine:

#!/usr/pbi/crashplan-amd64/bin/bash

#############################################################
# Init script for CrashPlanEngine
#############################################################

## Point to new version of Java
## See also: "JAVACOMMON" in: /usr/pbi/crashplan-amd64/share/crashplan/install.vars
export LD_LIBRARY_PATH="/usr/pbi/crashplan-amd64/jre-linux-i586-1.8.0_72/jre/lib/i386/jli"


# Common functions used for startup operations
standard_startup() {

ee /usr/pbi/crashplan-amd64/share/crashplan/install.vars

change the JAVACOMMON line to:
JAVACOMMON=/usr/pbi/crashplan-amd64/jre-linux-i586-1.8.0_72/jre/bin/java

ee /usr/pbi/crashplan-amd64/share/crashplan/conf/my.service.xml

change to the IP address for my crashplan jail
for example:
<serviceUIConfig>
<serviceHost>localhost</serviceHost>
to
<serviceUIConfig>
<serviceHost>192.168.1.2</serviceHost>

I have to do this because I have over 2 TB of data and Crashplan needs more ram to run - may not be required for everyone

ee /usr/pbi/crashplan-amd64/share/crashplan/bin/run.conf
in the SRV_JAVA_OPTS=" scroll right till I found this line:

-DappBaseName=CrashPlan -Xms20m -Xmx1024m
change it as follows:
-DappBaseName=CrashPlan -Xms20m -Xmx3072m

ee /var/lib/crashplan/.ui_info
(change the IP address to the IP Address for the jail (in my case that was) 192.168.1.2, then copy the entire line i,e. [{Port},{Token},{ip addresss}] <- The "Key"

Start Crashplan and check to see if Java is listening
service crashplan start
sockstat -l

root@crashplan_1:/ # sockstat -l
USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS
root java 22819 89 stream (not connected)
root java 22819 97 stream (not connected)
root java 22819 118 tcp4 *:4337 *:*
root java 22819 128 tcp4 192.168.1.2:4243 *:*
root python2.7 6714 3 tcp4 192.168.1.2:12352 *:*
root syslogd 6397 4 dgram /var/run/log
root syslogd 6397 5 dgram /var/run/logpriv
root syslogd 6397 6 udp6 *:514 *:*
root syslogd 6397 7 udp4 *:514 *:*

All good
exit

Update directories etc., (since I deleted the plugin to start with). If you are doing this for the first time you will need to set it up the folders to start with.

First go to Jails on the left, crashplan_1, Storage
Left.JPG


all my folders were there, however you will still need to create the directories under the Destination (I also checked the Mounted? box):

Storage.JPG


Just click Browse

browse.JPG


then okay (assuming your "Create directory:" box is checked)

Finally, I took the Key I copied above and pasted it in the .ui_info file located in C:\ProgramData\CrashPlan\.ui_info
(I had to first edit the permissions to be allowed to edit the file.)

Started Crashplan on the windows machine.
Had to say I had an account, then I checked to besure that I could see the folders (I could).
Then adopted the backup!

All done.

If you had to delete the plugin to do the install your history tab may not work on your Windows side. No worries this is easily fixed:
From within the FreeNAS Crashplan Jail

cd /usr/pbi/crashplan-amd64/share/crashplan/conf/
service crashplan stop
cp -f ../crashplan-install/conf/* .
service crashplan start


Check that your key hasn't changed (it probably will have)

ee /var/lib/crashplan/.ui_info
Copy the key, exit your editor and then the jail
exit

Now paste the key in your windows .ui_info file (my file is located "C:\ProgramData\CrashPlan\.ui_info")

Open Crashplan on the windows side and your history folder should now work and show activity.
 
Last edited:

nickt

Contributor
Joined
Feb 27, 2015
Messages
131
It's so great to see all the hard work everyone has put in here!

Just one question to you @Andrew076.... why the delete / reinstall plugin step? I'm not too clear why this is necessary. In my case, I've got a well functioning 4.7 install (ok it's failing to update every hour and moaning about it in the logs), but why throw that away?
 

nigma

Cadet
Joined
Sep 24, 2014
Messages
7
Thank Andrew. Followed your instructions with the exception of starting from a fresh Crashplan install. Upgrading from 4.7 seemed to work fine for me.

One minor correction : In the CrashplanEngine file, the sample script you have does not have the complete line for the "export LD_LIBRARY_PATH..." you do have the complete line just above it.

Thanks again for your hard work in summarising the steps.
 

Andrew076

Patron
Joined
Apr 5, 2015
Messages
206
Thank Andrew. Followed your instructions with the exception of starting from a fresh Crashplan install. Upgrading from 4.7 seemed to work fine for me.

One minor correction : In the CrashplanEngine file, the sample script you have does not have the complete line for the "export LD_LIBRARY_PATH..." you do have the complete line just above it.

Thanks again for your hard work in summarising the steps.
Thanks. I think I fixed what you are referring to.
 

Andrew076

Patron
Joined
Apr 5, 2015
Messages
206
It's so great to see all the hard work everyone has put in here!

Just one question to you @Andrew076.... why the delete / reinstall plugin step? I'm not too clear why this is necessary. In my case, I've got a well functioning 4.7 install (ok it's failing to update every hour and moaning about it in the logs), but why throw that away?

I too had a well functioning 4.7, then it forced the update and didn't work so I had to update to 4.8. I first tried to do it by just doing the steps starting in step 5 but something didn't sink (I am sure it was a java issue) and I spent about three days trying to "fix it" editing the various files and installing different versions of java (I even started with 3.6, found a copy the windows version of 3.6 got both to connect, fixed 3.6 on the server side so it would update on its own to 4.8 but could not get it to connect.

So, long and short, for everyone else I try starting with Step 5. In my case I had legacy issues from prior installs that make it so it didn't work, however if it works for you great, if it doesn't at least you will know that starting from scratch worked for someone else! :) - and most importantly for me I was able to adopt the computer and didn't have to re do the back up (I have about 2.4 TB of data and that would have been painful...)
 
Last edited:

nickt

Contributor
Joined
Feb 27, 2015
Messages
131
That makes sense - thanks. I take it the adoption process was straight forward? I've only got 800 GB of backup but I've had to do it over ADSL with a 1 Mbps uplink - it takes months. So not keen to have to start over...!!!
 

Andrew076

Patron
Joined
Apr 5, 2015
Messages
206
That makes sense - thanks. I take it the adoption process was straight forward? I've only got 800 GB of backup but I've had to do it over ADSL with a 1 Mbps uplink - it takes months. So not keen to have to start over...!!!
Yes, the adoption was seamless. No issues whatsoever.

Edit:

As a follow up, if you don't have to delete the plugin to work you shouldn't have to do the adopt. If you do, all I suggest is be sure before you adopt that you browse to be sure you can see your subfolders on the server. If you do it shouldn't be a problem.
 

Andrew076

Patron
Joined
Apr 5, 2015
Messages
206
So if you are like me, and you want to click on the History tab and see what is going on in your windows GUI you may need to take the following steps:

cd /usr/pbi/crashplan-amd64/share/crashplan/conf/
service crashplan stop
cp -f ../crashplan-install/conf/* .
service crashplan start


Then get your new key

ee /var/lib/crashplan/.ui_info
exit your editor and then the jail
exit

put new key in your windows .ui_info file (my file is located "C:\ProgramData\CrashPlan\.ui_info"

Restart Windows Crashplan and history should work as well.

This happened to me because I did the delete and reinstall, it may not be necessary if you are able to get crashplan to update without starting from scratch. I am going to update the steps above to include this as well.
 

cstathoulis

Dabbler
Joined
Sep 1, 2014
Messages
20
I'm also running CrashPlan on Debian in a virtual-box. Its a fairly easy setup to perform and maintenance is then via a VNC viewer (I use tightVNC which is a java app for windows or web-based) which gives you the GUI for crashplan. So much easier and updates are a breeze. I can share my notes for installing it if required?

I managed to install Debian using bhyve within FreeNAS successfully, then VNC and finally the linux version of Crashplan. What I couldn't manage is "clear" instructions on how to map/mount from the VM Debian to the physical HDD's. Please share on how this is done.
Thanks.. :)
 
Status
Not open for further replies.
Top