Before I start, here are the references to the work completed:
Setup the remote server
Install the Java virtual machine - don't use openJRE
sudo apt-get install sun-java6-jre
Accept the licence
Goto the crashplan download site and find out the URL of the latest version
Get the crashplan archive, extract it and change directory
wget http://download.crashplan.com/installs/linux/install/CrashPlan/CrashPlan_3.0.2_Linux.tgztar -zxvf CrashPlan_3.0.2_Linux.tgzcd CrashPlan-install
Install Crashplan as root (if you want access to all directories)
sudo -s./install.sh
Complete the install process
- Read the EULA
- Hit q to exit the EULA and then agree to it
- Accept the default locations for the binaries, backups and scripts
- Remove the downloaded files
- Firewall: open up port 4243 on the remote machine
Setup the local machine
To administrate the remote machine, we will be port forwarding via ssh 4200 to 4243 and then using the desktop GUI.
Copy and paste the following script into crashplan/bin/CrashPlanRemote (which is usually in /usr/local/ on Ubuntu).
#!/bin/bash# Do we have the appropriate input?if [ -z "$1" ]; thenecho usage: $0 remote-serverexitfi# fill in your stuff here:USER=jeremySERVER=$1# dont change anything down heressh -fnNTL 4200:localhost:4243 ${USER}@${SERVER}PID=$!# get CrashPlan folderSCRIPT=$(ls -l $0 | awk '{ print $NF }')SCRIPTDIR=$(dirname $SCRIPT)TARGETDIR="$SCRIPTDIR/.."cd ${TARGETDIR}#change CrashPlan config to use the tunnelsed 's/#servicePort=4200/servicePort=4200/g' ${TARGETDIR}/conf/ui.properties > /tmp/CrashPlan-ui.propertiescp /tmp/CrashPlan-ui.properties ${TARGETDIR}/conf/ui.propertiesrm /tmp/CrashPlan-ui.properties#CrashPlan start script - begin. ${TARGETDIR}/install.vars. ${TARGETDIR}/bin/run.conf${JAVACOMMON} ${GUI_JAVA_OPTS} -classpath "./lib/com.backup42.desktop.jar:./lang:./skin" com.backup42.desktop.CPDesktop > ${TARGETDIR}/log/ui_output.log 2 > ${TARGETDIR}/log/ui_error.log#CrashPlan start script - end#change CrashPlan config back to defaultsed 's/servicePort=4200/#servicePort=4200/g' ${TARGETDIR}/conf/ui.properties > /tmp/CrashPlan-ui.propertiescp /tmp/CrashPlan-ui.properties ${TARGETDIR}/conf/ui.propertiesrm /tmp/CrashPlan-ui.properties#kill (every 4200) tunnelCMD="ps -eo pid,args | grep 'ssh -fnNTL 4200:localhost:4243' | grep -v 'grep' | cut -c1-6"PID=`eval $CMD`kill -9 $PID
Now create a link from somewhere in your path, so that you can run it with the command CrashPlanRemote
chmod +x /usr/local/crashplan/bin/CrashPlanRemote
sudo ln -s /usr/local/crashplan/bin/CrashPlanRemote /usr/local/bin/CrashPlanRemote
And that should be it!
- CrashPlanRemove server.name.here
NB. it's best to have setup passwordless login to the remote server
- /etc/hosts: add a line with the IP address and full.domain.name
- ssh-copy-id -i ~/.ssh/id_rsa.pub full.domain.name
2 comments:
Just curious: Is your install still working after the upgrade to 3.2/3.2.1? I'm having major problems, but it's hard to pinpoint the exact cause...
I have a 1511+
Evert
I'm not sure I've used either of the more recent versions on headless machines.
I certainly use 3.2.1 on my Ubuntu Precise (beta2) laptop, but I'm not entirely sure what versions are running on my other servers.
What seems to be the problem? Incomplete backups or inability to connect?
Post a Comment