Web Admin Blog Real Web Admins. Real World Experience.

9Nov/144

Fixing when crashplan won’t start anymore on your Drobo

Even though the Drobo is supposed to be a pretty rock-solid tool for backing up your files, there are still plenty of reasons why one would want to keep a copy of those files elsewhere just in case.  For example, what would happen if there is a fire and your Drobo is damaged.  Are you OK with losing everything?  I've even heard about the rare case where the Drobo drives get out of sync and a complete reformat is necessary; causing you to lose everything.  To prevent this, it is a good idea to install the Crashplan Drobo app and ensure that a copy of your data is recoverable, even if the worst case scenario happens with your Drobo.

If you do as I mention above, chances are that things will work well for a while and then suddenly, one day, you will find that Crashplan is no longer running on your Drobo.  Despite multiple attempts to start it back up, you will inevitably find yourself staring at a message saying either "crashplan is enabled and stopped" or "crashplan is disabled and stopped" and will be clueless, like I was, in terms of how to fix it.  The good news is that after months of struggling with this, I finally came across a post on the DroboSpace forums from the guy who packages the Crashplan application for Drobo.  It was a bit cryptic at first, but eventually I was able to interpret what he was saying and I wanted to share it with everyone in a bit more layman's terms.

The underlying issue here is that Crashplan is configured to automatically upgrade itself on the Drobo.  When this happens, it downloads the replacement files and goes to run the upgrade script.  Unfortunately, the Crashplan team does not write the upgrade script to work in the Busybox environment (the one that runs on your Drobo) and the script breaks.  By tweaking the script ever so slightly, you can get it to run the upgrade and Crashplan will once again start up on your Drobo.  Here are the steps to do it:

  1. SSH into your Drobo with the command "ssh -L 4201:localhost:4243 root@[your Drobo IP]"
  2. Take a look at the /tmp/DroboApps/crashplan/log.txt file and you'll probably see a message saying something like "Error: Could not find or load main class com.backup42.service.CPService"
  3. Go to the crashplan upgrade directory with the command "cd /mnt/DroboFS/Shares/DroboApps/crashplan/app/upgrade"
  4. Here you will see a directory whose name looks like a random value like "1388642400364.1415587076262".  I believe you should see a new one of these directories for each version you are upgrading to.  Change to that directory using the command "cd 1388642400364.1415587076262" substituting for whatever directory name you see.
  5. Edit the upgrade.sh script inside that directory.  You want to change the "rm -fv" line to "rm -f" and the "mv -fv" line to "mv -f".  You will also want to search for the two lines that start with "/bin/ps -ef" and change them to use "/bin/ps w" instead.  Save the file.
  6. Change the permissions on the upgrade.sh script to make it executable with the command "chmod +x upgrade.sh".
  7. Run the upgrade.sh script with the command "./upgrade.sh".

When the script completes, you should be back at the terminal prompt.  From here, you can go back to the /mnt/DroboFS/Shares/DroboApps/crashplan directory and try starting Crashplan using the command "./service.sh start".  Check that it is "enabled and running" by running the command "./service.sh status" to get the status.  You may have to run through steps 4-7 multiple times based on how many upgrades back you are, but when all is said and done, you should be back up and running with Crashplan on your Drobo.  Good luck!

Comments (4) Trackbacks (0)
  1. I wanted to thank you for this post! It has proved invaluable every single time Code42 decides to break the app with their “upgrades”. If only they could make the adjustments to their own upgrade script.

    Anyway, Thank you again!

  2. Glad it was helpful to you!

  3. Just an FYI, in the latest version of the upgrade script there are some more gotchas. I found out that I had install bash from droboports, the script won’t work with the bourne shell any more.

    There are more instances of ps -ef that have to be updated, I found 4 in this version. There is a call to pkill, if crashplan isn’t running you can just comment that line out.

    Lastly, there is now a update.properties file that has invalid shell in it. You need to quote the command on the line that start with command=. The line should look like: command=”/bin/bash upgrade.sh”.

    With all that it appears that up upgrade script works. Now I’m waiting to see if it stays running long enough to get killed by the next upgrade… 🙂

  4. Awesome! Thanks a ton for writing that up and posting it here. I know that it will come in handy for me. Thank you!


Leave a comment

No trackbacks yet.