CrashPlan packages for Synology NAS

UPDATE – CrashPlan For Home (green branding) was retired by Code 42 Software on 22/08/2017. See migration notes below to find out how to transfer to CrashPlan for Small Business on Synology at the special discounted rate.

CrashPlan is a popular online backup solution which supports continuous syncing. With this your NAS can become even more resilient, particularly against the threat of ransomware.

There are now only two product versions:

  • Small Business: CrashPlan PRO (blue branding). Unlimited cloud backup subscription, $10 per device per month. Reporting via Admin Console. No peer-to-peer backups
  • Enterprise: CrashPlan PROe (black branding). Cloud backup subscription typically billed by storage usage, also available from third parties.

The instructions and notes on this page apply to both versions of the Synology package.

CrashPlanPRO-Windows

CrashPlan is a Java application which can be difficult to install on a NAS. Way back in January 2012 I decided to simplify it into a Synology package, since I had already created several others. It has been through many versions since that time, as the changelog below shows. Although it used to work on Synology products with ARM and PowerPC CPUs, it unfortunately became Intel-only in October 2016 due to Code 42 Software adding a reliance on some proprietary libraries.

Licence compliance is another challenge – Code 42’s EULA prohibits redistribution. I had to make the Synology package use the regular CrashPlan for Linux download (after the end user agrees to the Code 42 EULA). I then had to write my own script to extract this archive and mimic the Code 42 installer behaviour, but without the interactive prompts of the original.

 

Synology Package Installation

  • In Synology DSM’s Package Center, click Settings and add my package repository:
    Add Package Repository
  • The repository will push its certificate automatically to the NAS, which is used to validate package integrity. Set the Trust Level to Synology Inc. and trusted publishers:
    Trust Level
  • Now browse the Community section in Package Center to install CrashPlan:
    Community-packages
    The repository only displays packages which are compatible with your specific model of NAS. If you don’t see CrashPlan in the list, then either your NAS model or your DSM version are not supported at this time. DSM 5.0 is the minimum supported version for this package, and an Intel CPU is required.
  • Since CrashPlan is a Java application, it needs a Java Runtime Environment (JRE) to function. It is recommended that you select to have the package install a dedicated Java 8 runtime. For licensing reasons I cannot include Java with this package, so you will need to agree to the licence terms and download it yourself from Oracle’s website. The package expects to find this .tar.gz file in a shared folder called ‘public’. If you go ahead and try to install the package without it, the error message will indicate precisely which Java file you need for your system type, and it will provide a TinyURL link to the appropriate Oracle download page.
  • To install CrashPlan PRO you will first need to log into the Admin Console and download the Linux App from the App Download section and also place this in the ‘public’ shared folder on your NAS.
  • If you have a multi-bay NAS, use the Shared Folder control panel to create the shared folder called public (it must be all lower case). On single bay models this is created by default. Assign it with Read/Write privileges for everyone.
  • If you have trouble getting the Java or CrashPlan PRO app files recognised by this package, try downloading them with Firefox. It seems to be the only web browser that doesn’t try to uncompress the files, or rename them without warning. I also suggest that you leave the Java file and the public folder present once you have installed the package, so that you won’t need to fetch this again to install future updates to the CrashPlan package.
  • CrashPlan is installed in headless mode – backup engine only. This will configured by a desktop client, but operates independently of it.
  • The first time you start the CrashPlan package you will need to stop it and restart it before you can connect the client. This is because a config file that is only created on first run needs to be edited by one of my scripts. The engine is then configured to listen on all interfaces on the default port 4243.
 

CrashPlan Client Installation

  • Once the CrashPlan engine is running on the NAS, you can manage it by installing CrashPlan on another computer, and by configuring it to connect to the NAS instance of the CrashPlan Engine.
  • Make sure that you install the version of the CrashPlan client that matches the version running on the NAS. If the NAS version gets upgraded later, you will need to update your client computer too.
  • The Linux CrashPlan PRO client must be downloaded from the Admin Console and placed in the ‘public’ folder on your NAS in order to successfully install the Synology package.
  • By default the client is configured to connect to the CrashPlan engine running on the local computer. Run this command on your NAS from an SSH session:
    echo `cat /var/lib/crashplan/.ui_info`
    Note those are backticks not quotes. This will give you a port number (4243), followed by an authentication token, followed by the IP binding (0.0.0.0 means the server is listening for connections on all interfaces) e.g.:
    4243,9ac9b642-ba26-4578-b705-124c6efc920b,0.0.0.0
    port,--------------token-----------------,binding

    Copy this token value and use this value to replace the token in the equivalent config file on the computer that you would like to run the CrashPlan client on – located here:
    C:\ProgramData\CrashPlan\.ui_info (Windows)
    “/Library/Application Support/CrashPlan/.ui_info” (Mac OS X installed for all users)
    “~/Library/Application Support/CrashPlan/.ui_info” (Mac OS X installed for single user)
    /var/lib/crashplan/.ui_info (Linux)
    You will not be able to connect the client unless the client token matches on the NAS token. On the client you also need to amend the IP address value after the token to match the Synology NAS IP address.
    so using the example above, your computer’s CrashPlan client config file would be edited to:
    4243,9ac9b642-ba26-4578-b705-124c6efc920b,192.168.1.100
    assuming that the Synology NAS has the IP 192.168.1.100
    If it still won’t connect, check that the ServicePort value is set to 4243 in the following files:
    C:\ProgramData\CrashPlan\conf\ui_(username).properties (Windows)
    “/Library/Application Support/CrashPlan/ui.properties” (Mac OS X installed for all users)
    “~/Library/Application Support/CrashPlan/ui.properties” (Mac OS X installed for single user)
    /usr/local/crashplan/conf (Linux)
    /var/lib/crashplan/.ui_info (Synology) – this value does change spontaneously if there’s a port conflict e.g. you started two versions of the package concurrently (CrashPlan and CrashPlan PRO)
  • As a result of the nightmarish complexity of recent product changes Code42 has now published a support article with more detail on running headless systems including config file locations on all supported operating systems, and for ‘all users’ versus single user installs etc.
  • You should disable the CrashPlan service on your computer if you intend only to use the client. In Windows, open the Services section in Computer Management and stop the CrashPlan Backup Service. In the service Properties set the Startup Type to Manual. You can also disable the CrashPlan System Tray notification application by removing it from Task Manager > More Details > Start-up Tab (Windows 8/Windows 10) or the All Users Startup Start Menu folder (Windows 7).
    To accomplish the same on Mac OS X, run the following commands one by one:

    sudo launchctl unload /Library/LaunchDaemons/com.crashplan.engine.plist
    sudo mv /Library/LaunchDaemons/com.crashplan.engine.plist /Library/LaunchDaemons/com.crashplan.engine.plist.bak

    The CrashPlan menu bar application can be disabled in System Preferences > Users & Groups > Current User > Login Items

 

Migration from CrashPlan For Home to CrashPlan For Small Business (CrashPlan PRO)

  • Leave the regular green branded CrashPlan 4.8.3 Synology package installed.
  • Go through the online migration using the link in the email notification you received from Code 42 on 22/08/2017. This seems to trigger the CrashPlan client to begin an update to 4.9 which will fail. It will also migrate your account onto a CrashPlan PRO server. The web page is likely to stall on the Migrating step, but no matter. The process is meant to take you to the store but it seems to be quite flakey. If you see the store page with a $0.00 amount in the basket, this has correctly referred you for the introductory offer. Apparently the $9.99 price thereafter shown on that screen is a mistake and the correct price of $2.50 is shown on a later screen in the process I think. Enter your credit card details and check out if you can. If not, continue.
  • Log into the CrashPlan PRO Admin Console as per these instructions, and download the CrashPlan PRO 4.9 client for Linux, and the 4.9 client for your remote console computer. Ignore the red message in the bottom left of the Admin Console about registering, and do not sign up for the free trial. Preferably use Firefox for the Linux version download – most of the other web browsers will try to unpack the .tgz archive, which you do not want to happen.
  • Configure the CrashPlan PRO 4.9 client on your computer to connect to your Syno as per the usual instructions on this blog post.
  • Put the downloaded Linux CrashPlan PRO 4.9 client .tgz file in the ‘public’ shared folder on your NAS. The package will no longer download this automatically as it did in previous versions.
  • From the Community section of DSM Package Center, install the CrashPlan PRO 4.9 package concurrently with your existing CrashPlan 4.8.3 Syno package.
  • This will stop the CrashPlan package and automatically import its configuration. Notice that it will also backup your old CrashPlan .identity file and leave it in the ‘public’ shared folder, just in case something goes wrong.
  • Start the CrashPlan PRO Synology package, and connect your CrashPlan PRO console from your computer.
  • You should see your protected folders as usual. At first mine reported something like “insufficient device licences”, but the next time I started up it changed to “subscription expired”.
  • Uninstall the CrashPlan 4.8.3 Synology package, this is no longer required.
  • At this point if the store referral didn’t work in the second step, you need to sign into the Admin Console. While signed in, navigate to this link which I was given by Code 42 support. If it works, you should see a store page with some blue font text and a $0.00 basket value. If it didn’t work you will get bounced to the Consumer Next Steps webpage: “Important Changes to CrashPlan for Home” – the one with the video of the CEO explaining the situation. I had to do this a few times before it worked. Once the store referral link worked and I had confirmed my payment details my CrashPlan PRO client immediately started working. Enjoy!
 

Notes

  • The package uses the intact CrashPlan installer directly from Code 42 Software, following acceptance of its EULA. I am complying with the directive that no one redistributes it.
  • The engine daemon script checks the amount of system RAM and scales the Java heap size appropriately (up to the default maximum of 512MB). This can be overridden in a persistent way if you are backing up large backup sets by editing /var/packages/CrashPlan/target/syno_package.vars. If you are considering buying a NAS purely to use CrashPlan and intend to back up more than a few hundred GB then I strongly advise buying one of the models with upgradeable RAM. Memory is very limited on the cheaper models. I have found that a 512MB heap was insufficient to back up more than 2TB of files on a Windows server and that was the situation many years ago. It kept restarting the backup engine every few minutes until I increased the heap to 1024MB. Many users of the package have found that they have to increase the heap size or CrashPlan will halt its activity. This can be mitigated by dividing your backup into several smaller backup sets which are scheduled to be protected at different times. Note that from package version 0041, using the dedicated JRE on a 64bit Intel NAS will allow a heap size greater than 4GB since the JRE is 64bit (requires DSM 6.0 in most cases).
  • If you need to manage CrashPlan from a remote location, I suggest you do so using SSH tunnelling as per this support document.
  • The package supports upgrading to future versions while preserving the machine identity, logs, login details, and cache. Upgrades can now take place without requiring a login from the client afterwards.
  • If you remove the package completely and re-install it later, you can re-attach to previous backups. When you log in to the Desktop Client with your existing account after a re-install, you can select “adopt computer” to merge the records, and preserve your existing backups. I haven’t tested whether this also re-attaches links to friends’ CrashPlan computers and backup sets, though the latter does seem possible in the Friends section of the GUI. It’s probably a good idea to test that this survives a package reinstall before you start relying on it. Sometimes, particularly with CrashPlan PRO I think, the adopt option is not offered. In this case you can log into CrashPlan Central and retrieve your computer’s GUID. On the CrashPlan client, double-click on the logo in the top right and you’ll enter a command line mode. You can use the GUID command to change the system’s GUID to the one you just retrieved from your account.
  • The log which is displayed in the package’s Log tab is actually the activity history. If you are trying to troubleshoot an issue you will need to use an SSH session to inspect these log files:
    /var/packages/CrashPlan/target/log/engine_output.log
    /var/packages/CrashPlan/target/log/engine_error.log
    /var/packages/CrashPlan/target/log/app.log
  • When CrashPlan downloads and attempts to run an automatic update, the script will most likely fail and stop the package. This is typically caused by syntax differences with the Synology versions of certain Linux shell commands (like rm, mv, or ps). The startup script will attempt to apply the published upgrade the next time the package is started.
  • Although CrashPlan’s activity can be scheduled within the application, in order to save RAM some users may wish to restrict running the CrashPlan engine to specific times of day using the Task Scheduler in DSM Control Panel:
    Schedule service start
    Note that regardless of real-time backup, by default CrashPlan will scan the whole backup selection for changes at 3:00am. Include this time within your Task Scheduler time window or else CrashPlan will not capture file changes which occurred while it was inactive:
    Schedule Service Start

  • If you decide to sign up for one of CrashPlan’s paid backup services as a result of my work on this, please consider donating using the PayPal button on the right of this page.
 

Package scripts

For information, here are the package scripts so you can see what it’s going to do. You can get more information about how packages work by reading the Synology 3rd Party Developer Guide.

installer.sh

#!/bin/sh

#--------CRASHPLAN installer script
#--------package maintained at pcloadletter.co.uk


DOWNLOAD_PATH="http://download2.code42.com/installs/linux/install/${SYNOPKG_PKGNAME}"
CP_EXTRACTED_FOLDER="crashplan-install"
OLD_JNA_NEEDED="false"
[ "${SYNOPKG_PKGNAME}" == "CrashPlan" ] && DOWNLOAD_FILE="CrashPlan_4.8.3_Linux.tgz"
[ "${SYNOPKG_PKGNAME}" == "CrashPlanPRO" ] && DOWNLOAD_FILE="CrashPlanPRO_4.*_Linux.tgz"
if [ "${SYNOPKG_PKGNAME}" == "CrashPlanPROe" ]; then
  CP_EXTRACTED_FOLDER="${SYNOPKG_PKGNAME}-install"
  OLD_JNA_NEEDED="true"
  [ "${WIZARD_VER_483}" == "true" ] && { CPPROE_VER="4.8.3"; CP_EXTRACTED_FOLDER="crashplan-install"; OLD_JNA_NEEDED="false"; }
  [ "${WIZARD_VER_480}" == "true" ] && { CPPROE_VER="4.8.0"; CP_EXTRACTED_FOLDER="crashplan-install"; OLD_JNA_NEEDED="false"; }
  [ "${WIZARD_VER_470}" == "true" ] && { CPPROE_VER="4.7.0"; CP_EXTRACTED_FOLDER="crashplan-install"; OLD_JNA_NEEDED="false"; }
  [ "${WIZARD_VER_460}" == "true" ] && { CPPROE_VER="4.6.0"; CP_EXTRACTED_FOLDER="crashplan-install"; OLD_JNA_NEEDED="false"; }
  [ "${WIZARD_VER_452}" == "true" ] && { CPPROE_VER="4.5.2"; CP_EXTRACTED_FOLDER="crashplan-install"; OLD_JNA_NEEDED="false"; }
  [ "${WIZARD_VER_450}" == "true" ] && { CPPROE_VER="4.5.0"; CP_EXTRACTED_FOLDER="crashplan-install"; OLD_JNA_NEEDED="false"; }
  [ "${WIZARD_VER_441}" == "true" ] && { CPPROE_VER="4.4.1"; CP_EXTRACTED_FOLDER="crashplan-install"; OLD_JNA_NEEDED="false"; }
  [ "${WIZARD_VER_430}" == "true" ] && CPPROE_VER="4.3.0"
  [ "${WIZARD_VER_420}" == "true" ] && CPPROE_VER="4.2.0"
  [ "${WIZARD_VER_370}" == "true" ] && CPPROE_VER="3.7.0"
  [ "${WIZARD_VER_364}" == "true" ] && CPPROE_VER="3.6.4"
  [ "${WIZARD_VER_363}" == "true" ] && CPPROE_VER="3.6.3"
  [ "${WIZARD_VER_3614}" == "true" ] && CPPROE_VER="3.6.1.4"
  [ "${WIZARD_VER_353}" == "true" ] && CPPROE_VER="3.5.3"
  [ "${WIZARD_VER_341}" == "true" ] && CPPROE_VER="3.4.1"
  [ "${WIZARD_VER_33}" == "true" ] && CPPROE_VER="3.3"
  DOWNLOAD_FILE="CrashPlanPROe_${CPPROE_VER}_Linux.tgz"
fi
DOWNLOAD_URL="${DOWNLOAD_PATH}/${DOWNLOAD_FILE}"
CPI_FILE="${SYNOPKG_PKGNAME}_*.cpi"
OPTDIR="${SYNOPKG_PKGDEST}"
VARS_FILE="${OPTDIR}/install.vars"
SYNO_CPU_ARCH="`uname -m`"
[ "${SYNO_CPU_ARCH}" == "x86_64" ] && SYNO_CPU_ARCH="i686"
[ "${SYNO_CPU_ARCH}" == "armv5tel" ] && SYNO_CPU_ARCH="armel"
[ "${SYNOPKG_DSM_ARCH}" == "armada375" ] && SYNO_CPU_ARCH="armv7l"
[ "${SYNOPKG_DSM_ARCH}" == "armada38x" ] && SYNO_CPU_ARCH="armhf"
[ "${SYNOPKG_DSM_ARCH}" == "comcerto2k" ] && SYNO_CPU_ARCH="armhf"
[ "${SYNOPKG_DSM_ARCH}" == "alpine" ] && SYNO_CPU_ARCH="armhf"
[ "${SYNOPKG_DSM_ARCH}" == "alpine4k" ] && SYNO_CPU_ARCH="armhf"
[ "${SYNOPKG_DSM_ARCH}" == "monaco" ] && SYNO_CPU_ARCH="armhf"
[ "${SYNOPKG_DSM_ARCH}" == "rtd1296" ] && SYNO_CPU_ARCH="armhf"
NATIVE_BINS_URL="http://packages.pcloadletter.co.uk/downloads/crashplan-native-${SYNO_CPU_ARCH}.tar.xz"   
NATIVE_BINS_FILE="`echo ${NATIVE_BINS_URL} | sed -r "s%^.*/(.*)%\1%"`"
OLD_JNA_URL="http://packages.pcloadletter.co.uk/downloads/crashplan-native-old-${SYNO_CPU_ARCH}.tar.xz"   
OLD_JNA_FILE="`echo ${OLD_JNA_URL} | sed -r "s%^.*/(.*)%\1%"`"
INSTALL_FILES="${DOWNLOAD_URL} ${NATIVE_BINS_URL}"
[ "${OLD_JNA_NEEDED}" == "true" ] && INSTALL_FILES="${INSTALL_FILES} ${OLD_JNA_URL}"
TEMP_FOLDER="`find / -maxdepth 2 -path '/volume?/@tmp' | head -n 1`"
#the Manifest folder is where friends' backup data is stored
#we set it outside the app folder so it persists after a package uninstall
MANIFEST_FOLDER="/`echo $TEMP_FOLDER | cut -f2 -d'/'`/crashplan"
LOG_FILE="${SYNOPKG_PKGDEST}/log/history.log.0"
UPGRADE_FILES="syno_package.vars conf/my.service.xml conf/service.login conf/service.model"
UPGRADE_FOLDERS="log cache"
PUBLIC_FOLDER="`synoshare --get public | sed -r "/Path/!d;s/^.*\[(.*)\].*$/\1/"`"
#dedicated JRE section
if [ "${WIZARD_JRE_CP}" == "true" ]; then
  DOWNLOAD_URL="http://tinyurl.com/javaembed"
  EXTRACTED_FOLDER="ejdk1.8.0_151"
  #detect systems capable of running 64bit JRE which can address more than 4GB of RAM
  [ "${SYNOPKG_DSM_ARCH}" == "x64" ] && SYNO_CPU_ARCH="x64"
  [ "`uname -m`" == "x86_64" ] && [ ${SYNOPKG_DSM_VERSION_MAJOR} -ge 6 ] && SYNO_CPU_ARCH="x64"
  if [ "${SYNO_CPU_ARCH}" == "armel" ]; then
    JAVA_BINARY="ejdk-8u151-linux-arm-sflt.tar.gz"
    JAVA_BUILD="ARMv5/ARMv6/ARMv7 Linux - SoftFP ABI, Little Endian 2"
  elif [ "${SYNO_CPU_ARCH}" == "armv7l" ]; then
    JAVA_BINARY="ejdk-8u151-linux-arm-sflt.tar.gz"
    JAVA_BUILD="ARMv5/ARMv6/ARMv7 Linux - SoftFP ABI, Little Endian 2"
  elif [ "${SYNO_CPU_ARCH}" == "armhf" ]; then
    JAVA_BINARY="ejdk-8u151-linux-armv6-vfp-hflt.tar.gz"
    JAVA_BUILD="ARMv6/ARMv7 Linux - VFP, HardFP ABI, Little Endian 1"
  elif [ "${SYNO_CPU_ARCH}" == "ppc" ]; then
    #Oracle have discontinued Java 8 for PowerPC after update 6
    JAVA_BINARY="ejdk-8u6-fcs-b23-linux-ppc-e500v2-12_jun_2014.tar.gz"
    JAVA_BUILD="Power Architecture Linux - Headless - e500v2 with double-precision SPE Floating Point Unit"
    EXTRACTED_FOLDER="ejdk1.8.0_06"
    DOWNLOAD_URL="http://tinyurl.com/java8ppc"
  elif [ "${SYNO_CPU_ARCH}" == "i686" ]; then
    JAVA_BINARY="ejdk-8u151-linux-i586.tar.gz"
    JAVA_BUILD="x86 Linux Small Footprint - Headless"
  elif [ "${SYNO_CPU_ARCH}" == "x64" ]; then
    JAVA_BINARY="jre-8u151-linux-x64.tar.gz"
    JAVA_BUILD="Linux x64"
    EXTRACTED_FOLDER="jre1.8.0_151"
    DOWNLOAD_URL="http://tinyurl.com/java8x64"
  fi
fi
JAVA_BINARY=`echo ${JAVA_BINARY} | cut -f1 -d'.'`
source /etc/profile


pre_checks ()
{
  #These checks are called from preinst and from preupgrade functions to prevent failures resulting in a partially upgraded package
  if [ "${WIZARD_JRE_CP}" == "true" ]; then
    synoshare -get public > /dev/null || (
      echo "A shared folder called 'public' could not be found - note this name is case-sensitive. " >> $SYNOPKG_TEMP_LOGFILE
      echo "Please create this using the Shared Folder DSM Control Panel and try again." >> $SYNOPKG_TEMP_LOGFILE
      exit 1
    )

    JAVA_BINARY_FOUND=
    [ -f ${PUBLIC_FOLDER}/${JAVA_BINARY}.tar.gz ] && JAVA_BINARY_FOUND=true
    [ -f ${PUBLIC_FOLDER}/${JAVA_BINARY}.tar ] && JAVA_BINARY_FOUND=true
    [ -f ${PUBLIC_FOLDER}/${JAVA_BINARY}.tar.tar ] && JAVA_BINARY_FOUND=true
    [ -f ${PUBLIC_FOLDER}/${JAVA_BINARY}.gz ] && JAVA_BINARY_FOUND=true
     
    if [ -z ${JAVA_BINARY_FOUND} ]; then
      echo "Java binary bundle not found. " >> $SYNOPKG_TEMP_LOGFILE
      echo "I was expecting the file ${PUBLIC_FOLDER}/${JAVA_BINARY}.tar.gz. " >> $SYNOPKG_TEMP_LOGFILE
      echo "Please agree to the Oracle licence at ${DOWNLOAD_URL}, then download the '${JAVA_BUILD}' package" >> $SYNOPKG_TEMP_LOGFILE
      echo "and place it in the 'public' shared folder on your NAS. This download cannot be automated even if " >> $SYNOPKG_TEMP_LOGFILE
      echo "displaying a package EULA could potentially cover the legal aspect, because files hosted on Oracle's " >> $SYNOPKG_TEMP_LOGFILE
      echo "server are protected by a session cookie requiring a JavaScript enabled browser." >> $SYNOPKG_TEMP_LOGFILE
      exit 1
    fi
  else
    if [ -z ${JAVA_HOME} ]; then
      echo "Java is not installed or not properly configured. JAVA_HOME is not defined. " >> $SYNOPKG_TEMP_LOGFILE
      echo "Download and install the Java Synology package from http://wp.me/pVshC-z5" >> $SYNOPKG_TEMP_LOGFILE
      exit 1
    fi

    if [ ! -f ${JAVA_HOME}/bin/java ]; then
      echo "Java is not installed or not properly configured. The Java binary could not be located. " >> $SYNOPKG_TEMP_LOGFILE
      echo "Download and install the Java Synology package from http://wp.me/pVshC-z5" >> $SYNOPKG_TEMP_LOGFILE
      exit 1
    fi

    if [ "${WIZARD_JRE_SYS}" == "true" ]; then
      JAVA_VER=`java -version 2>&1 | sed -r "/^.* version/!d;s/^.* version \"[0-9]\.([0-9]).*$/\1/"`
      if [ ${JAVA_VER} -lt 8 ]; then
        echo "This version of CrashPlan requires Java 8 or newer. Please update your Java package. "
        exit 1
      fi
    fi
  fi
}


preinst ()
{
  pre_checks
  cd ${TEMP_FOLDER}
  for WGET_URL in ${INSTALL_FILES}
  do
    WGET_FILENAME="`echo ${WGET_URL} | sed -r "s%^.*/(.*)%\1%"`"
    [ -f ${TEMP_FOLDER}/${WGET_FILENAME} ] && rm ${TEMP_FOLDER}/${WGET_FILENAME}
    wget ${WGET_URL}
    if [[ $? != 0 ]]; then
      if [ -d ${PUBLIC_FOLDER} ] && [ -f ${PUBLIC_FOLDER}/${WGET_FILENAME} ]; then
        cp ${PUBLIC_FOLDER}/${WGET_FILENAME} ${TEMP_FOLDER}
      else     
        echo "There was a problem downloading ${WGET_FILENAME} from the official download link, " >> $SYNOPKG_TEMP_LOGFILE
        echo "which was \"${WGET_URL}\" " >> $SYNOPKG_TEMP_LOGFILE
        echo "Alternatively, you may download this file manually and place it in the 'public' shared folder. " >> $SYNOPKG_TEMP_LOGFILE
        exit 1
      fi
    fi
  done
 
  exit 0
}


postinst ()
{
  if [ "${WIZARD_JRE_CP}" == "true" ]; then
    #extract Java (Web browsers love to interfere with .tar.gz files)
    cd ${PUBLIC_FOLDER}
    if [ -f ${JAVA_BINARY}.tar.gz ]; then
      #Firefox seems to be the only browser that leaves it alone
      tar xzf ${JAVA_BINARY}.tar.gz
    elif [ -f ${JAVA_BINARY}.gz ]; then
      #Chrome
      tar xzf ${JAVA_BINARY}.gz
    elif [ -f ${JAVA_BINARY}.tar ]; then
      #Safari
      tar xf ${JAVA_BINARY}.tar
    elif [ -f ${JAVA_BINARY}.tar.tar ]; then
      #Internet Explorer
      tar xzf ${JAVA_BINARY}.tar.tar
    fi
    mv ${EXTRACTED_FOLDER} ${SYNOPKG_PKGDEST}/jre-syno
    JRE_PATH="`find ${OPTDIR}/jre-syno/ -name jre`"
    [ -z ${JRE_PATH} ] && JRE_PATH=${OPTDIR}/jre-syno
    #change owner of folder tree
    chown -R root:root ${SYNOPKG_PKGDEST}
  fi
   
  #extract CPU-specific additional binaries
  mkdir ${SYNOPKG_PKGDEST}/bin
  cd ${SYNOPKG_PKGDEST}/bin
  tar xJf ${TEMP_FOLDER}/${NATIVE_BINS_FILE} && rm ${TEMP_FOLDER}/${NATIVE_BINS_FILE}
  [ "${OLD_JNA_NEEDED}" == "true" ] && tar xJf ${TEMP_FOLDER}/${OLD_JNA_FILE} && rm ${TEMP_FOLDER}/${OLD_JNA_FILE}

  #extract main archive
  cd ${TEMP_FOLDER}
  tar xzf ${TEMP_FOLDER}/${DOWNLOAD_FILE} && rm ${TEMP_FOLDER}/${DOWNLOAD_FILE} 
  
  #extract cpio archive
  cd ${SYNOPKG_PKGDEST}
  cat "${TEMP_FOLDER}/${CP_EXTRACTED_FOLDER}"/${CPI_FILE} | gzip -d -c - | ${SYNOPKG_PKGDEST}/bin/cpio -i --no-preserve-owner
  
  echo "#uncomment to expand Java max heap size beyond prescribed value (will survive upgrades)" > ${SYNOPKG_PKGDEST}/syno_package.vars
  echo "#you probably only want more than the recommended 1024M if you're backing up extremely large volumes of files" >> ${SYNOPKG_PKGDEST}/syno_package.vars
  echo "#USR_MAX_HEAP=1024M" >> ${SYNOPKG_PKGDEST}/syno_package.vars
  echo >> ${SYNOPKG_PKGDEST}/syno_package.vars

  cp ${TEMP_FOLDER}/${CP_EXTRACTED_FOLDER}/scripts/CrashPlanEngine ${OPTDIR}/bin
  cp ${TEMP_FOLDER}/${CP_EXTRACTED_FOLDER}/scripts/run.conf ${OPTDIR}/bin
  mkdir -p ${MANIFEST_FOLDER}/backupArchives    
  
  #save install variables which Crashplan expects its own installer script to create
  echo TARGETDIR=${SYNOPKG_PKGDEST} > ${VARS_FILE}
  echo BINSDIR=/bin >> ${VARS_FILE}
  echo MANIFESTDIR=${MANIFEST_FOLDER}/backupArchives >> ${VARS_FILE}
  #leave these ones out which should help upgrades from Code42 to work (based on examining an upgrade script)
  #echo INITDIR=/etc/init.d >> ${VARS_FILE}
  #echo RUNLVLDIR=/usr/syno/etc/rc.d >> ${VARS_FILE}
  echo INSTALLDATE=`date +%Y%m%d` >> ${VARS_FILE}
  [ "${WIZARD_JRE_CP}" == "true" ] && echo JAVACOMMON=${JRE_PATH}/bin/java >> ${VARS_FILE}
  [ "${WIZARD_JRE_SYS}" == "true" ] && echo JAVACOMMON=\${JAVA_HOME}/bin/java >> ${VARS_FILE}
  cat ${TEMP_FOLDER}/${CP_EXTRACTED_FOLDER}/install.defaults >> ${VARS_FILE}
  
  #remove temp files
  rm -r ${TEMP_FOLDER}/${CP_EXTRACTED_FOLDER}
  
  #add firewall config
  /usr/syno/bin/servicetool --install-configure-file --package /var/packages/${SYNOPKG_PKGNAME}/scripts/${SYNOPKG_PKGNAME}.sc > /dev/null
  
  #amend CrashPlanPROe client version
  [ "${SYNOPKG_PKGNAME}" == "CrashPlanPROe" ] && sed -i -r "s/^version=\".*(-.*$)/version=\"${CPPROE_VER}\1/" /var/packages/${SYNOPKG_PKGNAME}/INFO

  #are we transitioning an existing CrashPlan account to CrashPlan For Small Business?
  if [ "${SYNOPKG_PKGNAME}" == "CrashPlanPRO" ]; then
    if [ -e /var/packages/CrashPlan/scripts/start-stop-status ]; then
      /var/packages/CrashPlan/scripts/start-stop-status stop
      cp /var/lib/crashplan/.identity ${PUBLIC_FOLDER}/crashplan-identity.bak
      cp -R /var/packages/CrashPlan/target/conf/ ${OPTDIR}/
    fi  
  fi

  exit 0
}


preuninst ()
{
  `dirname $0`/stop-start-status stop

  exit 0
}


postuninst ()
{
  if [ -f ${SYNOPKG_PKGDEST}/syno_package.vars ]; then
    source ${SYNOPKG_PKGDEST}/syno_package.vars
  fi
  [ -e ${OPTDIR}/lib/libffi.so.5 ] && rm ${OPTDIR}/lib/libffi.so.5

  #delete symlink if it no longer resolves - PowerPC only
  if [ ! -e /lib/libffi.so.5 ]; then
    [ -L /lib/libffi.so.5 ] && rm /lib/libffi.so.5
  fi

  #remove firewall config
  if [ "${SYNOPKG_PKG_STATUS}" == "UNINSTALL" ]; then
    /usr/syno/bin/servicetool --remove-configure-file --package ${SYNOPKG_PKGNAME}.sc > /dev/null
  fi

 exit 0
}


preupgrade ()
{
  `dirname $0`/stop-start-status stop
  pre_checks
  #if identity exists back up config
  if [ -f /var/lib/crashplan/.identity ]; then
    mkdir -p ${SYNOPKG_PKGDEST}/../${SYNOPKG_PKGNAME}_data_mig/conf
    for FILE_TO_MIGRATE in ${UPGRADE_FILES}; do
      if [ -f ${OPTDIR}/${FILE_TO_MIGRATE} ]; then
        cp ${OPTDIR}/${FILE_TO_MIGRATE} ${SYNOPKG_PKGDEST}/../${SYNOPKG_PKGNAME}_data_mig/${FILE_TO_MIGRATE}
      fi
    done
    for FOLDER_TO_MIGRATE in ${UPGRADE_FOLDERS}; do
      if [ -d ${OPTDIR}/${FOLDER_TO_MIGRATE} ]; then
        mv ${OPTDIR}/${FOLDER_TO_MIGRATE} ${SYNOPKG_PKGDEST}/../${SYNOPKG_PKGNAME}_data_mig
      fi
    done
  fi

  exit 0
}


postupgrade ()
{
  #use the migrated identity and config data from the previous version
  if [ -f ${SYNOPKG_PKGDEST}/../${SYNOPKG_PKGNAME}_data_mig/conf/my.service.xml ]; then
    for FILE_TO_MIGRATE in ${UPGRADE_FILES}; do
      if [ -f ${SYNOPKG_PKGDEST}/../${SYNOPKG_PKGNAME}_data_mig/${FILE_TO_MIGRATE} ]; then
        mv ${SYNOPKG_PKGDEST}/../${SYNOPKG_PKGNAME}_data_mig/${FILE_TO_MIGRATE} ${OPTDIR}/${FILE_TO_MIGRATE}
      fi
    done
    for FOLDER_TO_MIGRATE in ${UPGRADE_FOLDERS}; do
    if [ -d ${SYNOPKG_PKGDEST}/../${SYNOPKG_PKGNAME}_data_mig/${FOLDER_TO_MIGRATE} ]; then
      mv ${SYNOPKG_PKGDEST}/../${SYNOPKG_PKGNAME}_data_mig/${FOLDER_TO_MIGRATE} ${OPTDIR}
    fi
    done
    rmdir ${SYNOPKG_PKGDEST}/../${SYNOPKG_PKGNAME}_data_mig/conf
    rmdir ${SYNOPKG_PKGDEST}/../${SYNOPKG_PKGNAME}_data_mig
    
    #make CrashPlan log entry
    TIMESTAMP="`date "+%D %I:%M%p"`"
    echo "I ${TIMESTAMP} Synology Package Center updated ${SYNOPKG_PKGNAME} to version ${SYNOPKG_PKGVER}" >> ${LOG_FILE}
  fi
  
  exit 0
}
 

start-stop-status.sh

#!/bin/sh

#--------CRASHPLAN start-stop-status script
#--------package maintained at pcloadletter.co.uk


TEMP_FOLDER="`find / -maxdepth 2 -path '/volume?/@tmp' | head -n 1`"
MANIFEST_FOLDER="/`echo $TEMP_FOLDER | cut -f2 -d'/'`/crashplan" 
ENGINE_CFG="run.conf"
PKG_FOLDER="`dirname $0 | cut -f1-4 -d'/'`"
DNAME="`dirname $0 | cut -f4 -d'/'`"
OPTDIR="${PKG_FOLDER}/target"
PID_FILE="${OPTDIR}/${DNAME}.pid"
DLOG="${OPTDIR}/log/history.log.0"
CFG_PARAM="SRV_JAVA_OPTS"
JAVA_MIN_HEAP=`grep "^${CFG_PARAM}=" "${OPTDIR}/bin/${ENGINE_CFG}" | sed -r "s/^.*-Xms([0-9]+)[Mm] .*$/\1/"` 
SYNO_CPU_ARCH="`uname -m`"
TIMESTAMP="`date "+%D %I:%M%p"`"
FULL_CP="${OPTDIR}/lib/com.backup42.desktop.jar:${OPTDIR}/lang"
source ${OPTDIR}/install.vars
source /etc/profile
source /root/.profile


start_daemon ()
{
  #check persistent variables from syno_package.vars
  USR_MAX_HEAP=0
  if [ -f ${OPTDIR}/syno_package.vars ]; then
    source ${OPTDIR}/syno_package.vars
  fi
  USR_MAX_HEAP=`echo $USR_MAX_HEAP | sed -e "s/[mM]//"`

  #do we need to restore the identity file - has a DSM upgrade scrubbed /var/lib/crashplan?
  if [ ! -e /var/lib/crashplan ]; then
    mkdir /var/lib/crashplan
    [ -e ${OPTDIR}/conf/var-backup/.identity ] && cp ${OPTDIR}/conf/var-backup/.identity /var/lib/crashplan/
  fi

  #fix up some of the binary paths and fix some command syntax for busybox 
  #moved this to start-stop-status.sh from installer.sh because Code42 push updates and these
  #new scripts will need this treatment too
  find ${OPTDIR}/ -name "*.sh" | while IFS="" read -r FILE_TO_EDIT; do
    if [ -e ${FILE_TO_EDIT} ]; then
      #this list of substitutions will probably need expanding as new CrashPlan updates are released
      sed -i "s%^#!/bin/bash%#!$/bin/sh%" "${FILE_TO_EDIT}"
      sed -i -r "s%(^\s*)(/bin/cpio |cpio ) %\1/${OPTDIR}/bin/cpio %" "${FILE_TO_EDIT}"
      sed -i -r "s%(^\s*)(/bin/ps|ps) [^w][^\|]*\|%\1/bin/ps w \|%" "${FILE_TO_EDIT}"
      sed -i -r "s%\`ps [^w][^\|]*\|%\`ps w \|%" "${FILE_TO_EDIT}"
      sed -i -r "s%^ps [^w][^\|]*\|%ps w \|%" "${FILE_TO_EDIT}"
      sed -i "s/rm -fv/rm -f/" "${FILE_TO_EDIT}"
      sed -i "s/mv -fv/mv -f/" "${FILE_TO_EDIT}"
    fi
  done

  #use this daemon init script rather than the unreliable Code42 stock one which greps the ps output
  sed -i "s%^ENGINE_SCRIPT=.*$%ENGINE_SCRIPT=$0%" ${OPTDIR}/bin/restartLinux.sh

  #any downloaded upgrade script will usually have failed despite the above changes
  #so ignore the script and explicitly extract the new java code using the chrisnelson.ca method 
  #thanks to Jeff Bingham for tweaks 
  UPGRADE_JAR=`find ${OPTDIR}/upgrade -maxdepth 1 -name "*.jar" | tail -1`
  if [ -n "${UPGRADE_JAR}" ]; then
    rm ${OPTDIR}/*.pid > /dev/null
 
    #make CrashPlan log entry
    echo "I ${TIMESTAMP} Synology extracting upgrade from ${UPGRADE_JAR}" >> ${DLOG}

    UPGRADE_VER=`echo ${SCRIPT_HOME} | sed -r "s/^.*\/([0-9_]+)\.[0-9]+/\1/"`
    #DSM 6.0 no longer includes unzip, use 7z instead
    unzip -o ${OPTDIR}/upgrade/${UPGRADE_VER}.jar "*.jar" -d ${OPTDIR}/lib/ || 7z e -y ${OPTDIR}/upgrade/${UPGRADE_VER}.jar "*.jar" -o${OPTDIR}/lib/ > /dev/null
    unzip -o ${OPTDIR}/upgrade/${UPGRADE_VER}.jar "lang/*" -d ${OPTDIR} || 7z e -y ${OPTDIR}/upgrade/${UPGRADE_VER}.jar "lang/*" -o${OPTDIR} > /dev/null
    mv ${UPGRADE_JAR} ${TEMP_FOLDER}/ > /dev/null
    exec $0
  fi

  #updates may also overwrite our native binaries
  [ -e ${OPTDIR}/bin/libffi.so.5 ] && cp -f ${OPTDIR}/bin/libffi.so.5 ${OPTDIR}/lib/
  [ -e ${OPTDIR}/bin/libjtux.so ] && cp -f ${OPTDIR}/bin/libjtux.so ${OPTDIR}/
  [ -e ${OPTDIR}/bin/jna-3.2.5.jar ] && cp -f ${OPTDIR}/bin/jna-3.2.5.jar ${OPTDIR}/lib/
  if [ -e ${OPTDIR}/bin/jna.jar ] && [ -e ${OPTDIR}/lib/jna.jar ]; then
    cp -f ${OPTDIR}/bin/jna.jar ${OPTDIR}/lib/
  fi

  #create or repair libffi.so.5 symlink if a DSM upgrade has removed it - PowerPC only
  if [ -e ${OPTDIR}/lib/libffi.so.5 ]; then
    if [ ! -e /lib/libffi.so.5 ]; then
      #if it doesn't exist, but is still a link then it's a broken link and should be deleted first
      [ -L /lib/libffi.so.5 ] && rm /lib/libffi.so.5
      ln -s ${OPTDIR}/lib/libffi.so.5 /lib/libffi.so.5
    fi
  fi

  #set appropriate Java max heap size
  RAM=$((`free | grep Mem: | sed -e "s/^ *Mem: *\([0-9]*\).*$/\1/"`/1024))
  if [ $RAM -le 128 ]; then
    JAVA_MAX_HEAP=80
  elif [ $RAM -le 256 ]; then
    JAVA_MAX_HEAP=192
  elif [ $RAM -le 512 ]; then
    JAVA_MAX_HEAP=384
  elif [ $RAM -le 1024 ]; then
    JAVA_MAX_HEAP=512
  elif [ $RAM -gt 1024 ]; then
    JAVA_MAX_HEAP=1024
  fi
  if [ $USR_MAX_HEAP -gt $JAVA_MAX_HEAP ]; then
    JAVA_MAX_HEAP=${USR_MAX_HEAP}
  fi   
  if [ $JAVA_MAX_HEAP -lt $JAVA_MIN_HEAP ]; then
    #can't have a max heap lower than min heap (ARM low RAM systems)
    $JAVA_MAX_HEAP=$JAVA_MIN_HEAP
  fi
  sed -i -r "s/(^${CFG_PARAM}=.*) -Xmx[0-9]+[mM] (.*$)/\1 -Xmx${JAVA_MAX_HEAP}m \2/" "${OPTDIR}/bin/${ENGINE_CFG}"
  
  #disable the use of the x86-optimized external Fast MD5 library if running on ARM and PPC CPUs
  #seems to be the default behaviour now but that may change again
  [ "${SYNO_CPU_ARCH}" == "x86_64" ] && SYNO_CPU_ARCH="i686"
  if [ "${SYNO_CPU_ARCH}" != "i686" ]; then
    grep "^${CFG_PARAM}=.*c42\.native\.md5\.enabled" "${OPTDIR}/bin/${ENGINE_CFG}" > /dev/null \
     || sed -i -r "s/(^${CFG_PARAM}=\".*)\"$/\1 -Dc42.native.md5.enabled=false\"/" "${OPTDIR}/bin/${ENGINE_CFG}"
  fi

  #move the Java temp directory from the default of /tmp
  grep "^${CFG_PARAM}=.*Djava\.io\.tmpdir" "${OPTDIR}/bin/${ENGINE_CFG}" > /dev/null \
   || sed -i -r "s%(^${CFG_PARAM}=\".*)\"$%\1 -Djava.io.tmpdir=${TEMP_FOLDER}\"%" "${OPTDIR}/bin/${ENGINE_CFG}"

  #now edit the XML config file, which only exists after first run
  if [ -f ${OPTDIR}/conf/my.service.xml ]; then

    #allow direct connections from CrashPlan Desktop client on remote systems
    #you must edit the value of serviceHost in conf/ui.properties on the client you connect with
    #users report that this value is sometimes reset so now it's set every service startup 
    sed -i "s/<serviceHost>127\.0\.0\.1<\/serviceHost>/<serviceHost>0\.0\.0\.0<\/serviceHost>/" "${OPTDIR}/conf/my.service.xml"
    #default changed in CrashPlan 4.3
    sed -i "s/<serviceHost>localhost<\/serviceHost>/<serviceHost>0\.0\.0\.0<\/serviceHost>/" "${OPTDIR}/conf/my.service.xml"
    #since CrashPlan 4.4 another config file to allow remote console connections
    sed -i "s/127\.0\.0\.1/0\.0\.0\.0/" /var/lib/crashplan/.ui_info
     
    #this change is made only once in case you want to customize the friends' backup location
    if [ "${MANIFEST_PATH_SET}" != "True" ]; then

      #keep friends' backup data outside the application folder to make accidental deletion less likely 
      sed -i "s%<manifestPath>.*</manifestPath>%<manifestPath>${MANIFEST_FOLDER}/backupArchives/</manifestPath>%" "${OPTDIR}/conf/my.service.xml"
      echo "MANIFEST_PATH_SET=True" >> ${OPTDIR}/syno_package.vars
    fi

    #since CrashPlan version 3.5.3 the value javaMemoryHeapMax also needs setting to match that used in bin/run.conf
    sed -i -r "s%(<javaMemoryHeapMax>)[0-9]+[mM](</javaMemoryHeapMax>)%\1${JAVA_MAX_HEAP}m\2%" "${OPTDIR}/conf/my.service.xml"

    #make sure CrashPlan is not binding to the IPv6 stack
    grep "\-Djava\.net\.preferIPv4Stack=true" "${OPTDIR}/bin/${ENGINE_CFG}" > /dev/null \
     || sed -i -r "s/(^${CFG_PARAM}=\".*)\"$/\1 -Djava.net.preferIPv4Stack=true\"/" "${OPTDIR}/bin/${ENGINE_CFG}"
   else
    echo "Check the package log to ensure the package has started successfully, then stop and restart the package to allow desktop client connections." > "${SYNOPKG_TEMP_LOGFILE}"
  fi

  #increase the system-wide maximum number of open files from Synology default of 24466
  [ `cat /proc/sys/fs/file-max` -lt 65536 ] && echo "65536" > /proc/sys/fs/file-max

  #raise the maximum open file count from the Synology default of 1024 - thanks Casper K. for figuring this out
  #http://support.code42.com/Administrator/3.6_And_4.0/Troubleshooting/Too_Many_Open_Files
  ulimit -n 65536

  #ensure that Code 42 have not amended install.vars to force the use of their own (Intel) JRE
  if [ -e ${OPTDIR}/jre-syno ]; then
    JRE_PATH="`find ${OPTDIR}/jre-syno/ -name jre`"
    [ -z ${JRE_PATH} ] && JRE_PATH=${OPTDIR}/jre-syno
    sed -i -r "s|^(JAVACOMMON=).*$|\1\${JRE_PATH}/bin/java|" ${OPTDIR}/install.vars
    
    #if missing, set timezone and locale for dedicated JRE   
    if [ -z ${TZ} ]; then
      SYNO_TZ=`cat /etc/synoinfo.conf | grep timezone | cut -f2 -d'"'`
      #fix for DST time in DSM 5.2 thanks to MinimServer Syno package author
      [ -e /usr/share/zoneinfo/Timezone/synotztable.json ] \
       && SYNO_TZ=`jq ".${SYNO_TZ} | .nameInTZDB" /usr/share/zoneinfo/Timezone/synotztable.json | sed -e "s/\"//g"` \
       || SYNO_TZ=`grep "^${SYNO_TZ}" /usr/share/zoneinfo/Timezone/tzname | sed -e "s/^.*= //"`
      export TZ=${SYNO_TZ}
    fi
    [ -z ${LANG} ] && export LANG=en_US.utf8
    export CLASSPATH=.:${OPTDIR}/jre-syno/lib

  else
    sed -i -r "s|^(JAVACOMMON=).*$|\1\${JAVA_HOME}/bin/java|" ${OPTDIR}/install.vars
  fi

  source ${OPTDIR}/bin/run.conf
  source ${OPTDIR}/install.vars
  cd ${OPTDIR}
  $JAVACOMMON $SRV_JAVA_OPTS -classpath $FULL_CP com.backup42.service.CPService > ${OPTDIR}/log/engine_output.log 2> ${OPTDIR}/log/engine_error.log &
  if [ $! -gt 0 ]; then
    echo $! > $PID_FILE
    renice 19 $! > /dev/null
    if [ -z "${SYNOPKG_PKGDEST}" ]; then
      #script was manually invoked, need this to show status change in Package Center      
      [ -e ${PKG_FOLDER}/enabled ] || touch ${PKG_FOLDER}/enabled
    fi
  else
    echo "${DNAME} failed to start, check ${OPTDIR}/log/engine_error.log" > "${SYNOPKG_TEMP_LOGFILE}"
    echo "${DNAME} failed to start, check ${OPTDIR}/log/engine_error.log" >&2
    exit 1
  fi
}

stop_daemon ()
{
  echo "I ${TIMESTAMP} Stopping ${DNAME}" >> ${DLOG}
  kill `cat ${PID_FILE}`
  wait_for_status 1 20 || kill -9 `cat ${PID_FILE}`
  rm -f ${PID_FILE}
  if [ -z ${SYNOPKG_PKGDEST} ]; then
    #script was manually invoked, need this to show status change in Package Center
    [ -e ${PKG_FOLDER}/enabled ] && rm ${PKG_FOLDER}/enabled
  fi
  #backup identity file in case DSM upgrade removes it
  [ -e ${OPTDIR}/conf/var-backup ] || mkdir ${OPTDIR}/conf/var-backup 
  cp /var/lib/crashplan/.identity ${OPTDIR}/conf/var-backup/
}

daemon_status ()
{
  if [ -f ${PID_FILE} ] && kill -0 `cat ${PID_FILE}` > /dev/null 2>&1; then
    return
  fi
  rm -f ${PID_FILE}
  return 1
}

wait_for_status ()
{
  counter=$2
  while [ ${counter} -gt 0 ]; do
    daemon_status
    [ $? -eq $1 ] && return
    let counter=counter-1
    sleep 1
  done
  return 1
}


case $1 in
  start)
    if daemon_status; then
      echo ${DNAME} is already running with PID `cat ${PID_FILE}`
      exit 0
    else
      echo Starting ${DNAME} ...
      start_daemon
      exit $?
    fi
  ;;

  stop)
    if daemon_status; then
      echo Stopping ${DNAME} ...
      stop_daemon
      exit $?
    else
      echo ${DNAME} is not running
      exit 0
    fi
  ;;

  restart)
    stop_daemon
    start_daemon
    exit $?
  ;;

  status)
    if daemon_status; then
      echo ${DNAME} is running with PID `cat ${PID_FILE}`
      exit 0
    else
      echo ${DNAME} is not running
      exit 1
    fi
  ;;

  log)
    echo "${DLOG}"
    exit 0
  ;;

  *)
    echo "Usage: $0 {start|stop|status|restart}" >&2
    exit 1
  ;;

esac
 

install_uifile & upgrade_uifile

[
  {
    "step_title": "Client Version Selection",
    "items": [
      {
        "type": "singleselect",
        "desc": "Please select the CrashPlanPROe client version that is appropriate for your backup destination server:",
        "subitems": [
          {
            "key": "WIZARD_VER_483",
            "desc": "4.8.3",
            "defaultValue": true
          },          {
            "key": "WIZARD_VER_480",
            "desc": "4.8.0",
            "defaultValue": false
          },
          {
            "key": "WIZARD_VER_470",
            "desc": "4.7.0",
            "defaultValue": false
          },
          {
            "key": "WIZARD_VER_460",
            "desc": "4.6.0",
            "defaultValue": false
          },
          {
            "key": "WIZARD_VER_452",
            "desc": "4.5.2",
            "defaultValue": false
          },
          {
            "key": "WIZARD_VER_450",
            "desc": "4.5.0",
            "defaultValue": false
          },
          {
            "key": "WIZARD_VER_441",
            "desc": "4.4.1",
            "defaultValue": false
          },
          {
            "key": "WIZARD_VER_430",
            "desc": "4.3.0",
            "defaultValue": false
          },
          {
            "key": "WIZARD_VER_420",
            "desc": "4.2.0",
            "defaultValue": false
          },
          {
            "key": "WIZARD_VER_370",
            "desc": "3.7.0",
            "defaultValue": false
          },
          {
            "key": "WIZARD_VER_364",
            "desc": "3.6.4",
            "defaultValue": false
          },
          {
            "key": "WIZARD_VER_363",
            "desc": "3.6.3",
            "defaultValue": false
          },
          {
            "key": "WIZARD_VER_3614",
            "desc": "3.6.1.4",
            "defaultValue": false
          },
          {
            "key": "WIZARD_VER_353",
            "desc": "3.5.3",
            "defaultValue": false
          },
          {
            "key": "WIZARD_VER_341",
            "desc": "3.4.1",
            "defaultValue": false
          },
          {
            "key": "WIZARD_VER_33",
            "desc": "3.3",
            "defaultValue": false
          }
        ]
      }
    ]
  },
  {
    "step_title": "Java Runtime Environment Selection",
    "items": [
      {
        "type": "singleselect",
        "desc": "Please select the Java version which you would like CrashPlan to use:",
        "subitems": [
          {
            "key": "WIZARD_JRE_SYS",
            "desc": "Default system Java version",
            "defaultValue": false
          },
          {
            "key": "WIZARD_JRE_CP",
            "desc": "Dedicated installation of Java 8",
            "defaultValue": true
          }
        ]
      }
    ]
  }
]
 

Changelog:

  • 0031 Added TCP 4242 to the firewall services (computer to computer connections)
  • 0047 30/Oct/17 – Updated dedicated Java version to 8 update 151, added support for additional Intel CPUs in x18 Synology products.
  • 0046 26/Aug/17 – Updated to CrashPlan PRO 4.9, added support for migration from CrashPlan For Home to CrashPlan For Small Business (CrashPlan PRO). Please read the Migration section on this page for instructions.
  • 0045 02/Aug/17 – Updated to CrashPlan 4.8.3, updated dedicated Java version to 8 update 144
  • 0044 21/Jan/17 – Updated dedicated Java version to 8 update 121
  • 0043 07/Jan/17 – Updated dedicated Java version to 8 update 111, added support for Intel Broadwell and Grantley CPUs
  • 0042 03/Oct/16 – Updated to CrashPlan 4.8.0, Java 8 is now required, added optional dedicated Java 8 Runtime instead of the default system one including 64bit Java support on 64 bit Intel CPUs to permit memory allocation larger than 4GB. Support for non-Intel platforms withdrawn owing to Code42’s reliance on proprietary native code library libc42archive.so
  • 0041 20/Jul/16 – Improved auto-upgrade compatibility (hopefully), added option to have CrashPlan use a dedicated Java 7 Runtime instead of the default system one, including 64bit Java support on 64 bit Intel CPUs to permit memory allocation larger than 4GB
  • 0040 25/May/16 – Added cpio to the path in the running context of start-stop-status.sh
  • 0039 25/May/16 – Updated to CrashPlan 4.7.0, at each launch forced the use of the system JRE over the CrashPlan bundled Intel one, added Maven build of JNA 4.1.0 for ARMv7 systems consistent with the version bundled with CrashPlan
  • 0038 27/Apr/16 – Updated to CrashPlan 4.6.0, and improved support for Code 42 pushed updates
  • 0037 21/Jan/16 – Updated to CrashPlan 4.5.2
  • 0036 14/Dec/15 – Updated to CrashPlan 4.5.0, separate firewall definitions for management client and for friends backup, added support for DS716+ and DS216play
  • 0035 06/Nov/15 – Fixed the update to 4.4.1_59, new installs now listen for remote connections after second startup (was broken from 4.4), updated client install documentation with more file locations and added a link to a new Code42 support doc
    EITHER completely remove and reinstall the package (which will require a rescan of the entire backup set) OR alternatively please delete all except for one of the failed upgrade numbered subfolders in /var/packages/CrashPlan/target/upgrade before upgrading. There will be one folder for each time CrashPlan tried and failed to start since Code42 pushed the update
  • 0034 04/Oct/15 – Updated to CrashPlan 4.4.1, bundled newer JNA native libraries to match those from Code42, PLEASE READ UPDATED BLOG POST INSTRUCTIONS FOR CLIENT INSTALL this version introduced yet another requirement for the client
  • 0033 12/Aug/15 – Fixed version 0032 client connection issue for fresh installs
  • 0032 12/Jul/15 – Updated to CrashPlan 4.3, PLEASE READ UPDATED BLOG POST INSTRUCTIONS FOR CLIENT INSTALL this version introduced an extra requirement, changed update repair to use the chrisnelson.ca method, forced CrashPlan to prefer IPv4 over IPv6 bindings, removed some legacy version migration scripting, updated main blog post documentation
  • 0031 20/May/15 – Updated to CrashPlan 4.2, cross compiled a newer cpio binary for some architectures which were segfaulting while unpacking main CrashPlan archive, added port 4242 to the firewall definition (friend backups), package is now signed with repository private key
  • 0030 16/Feb/15 – Fixed show-stopping issue with version 0029 for systems with more than one volume
  • 0029 21/Jan/15 – Updated to CrashPlan version 3.7.0, improved detection of temp folder (prevent use of /var/@tmp), added support for Annapurna Alpine AL514 CPU (armhf) in DS2015xs, added support for Marvell Armada 375 CPU (armhf) in DS215j, abandoned practical efforts to try to support Code42’s upgrade scripts, abandoned inotify support (realtime backup) on PowerPC after many failed attempts with self-built and pre-built jtux and jna libraries, back-merged older libffi support for old PowerPC binaries after it was removed in 0028 re-write
  • 0028 22/Oct/14 – Substantial re-write:
    Updated to CrashPlan version 3.6.4
    DSM 5.0 or newer is now required
    libjnidispatch.so taken from Debian JNA 3.2.7 package with dependency on newer libffi.so.6 (included in DSM 5.0)
    jna-3.2.5.jar emptied of irrelevant CPU architecture libs to reduce size
    Increased default max heap size from 512MB to 1GB on systems with more than 1GB RAM
    Intel CPUs no longer need the awkward glibc version-faking shim to enable inotify support (for real-time backup)
    Switched to using root account – no more adding account permissions for backup, package upgrades will no longer break this
    DSM Firewall application definition added
    Tested with DSM Task Scheduler to allow backups between certain times of day only, saving RAM when not in use
    Daemon init script now uses a proper PID file instead of Code42’s unreliable method of using grep on the output of ps
    Daemon init script can be run from the command line
    Removal of bash binary dependency now Code42’s CrashPlanEngine script is no longer used
    Removal of nice binary dependency, using BusyBox equivalent renice
    Unified ARMv5 and ARMv7 external binary package (armle)
    Added support for Mindspeed Comcerto 2000 CPU (comcerto2k – armhf) in DS414j
    Added support for Intel Atom C2538 (avoton) CPU in DS415+
    Added support to choose which version of CrashPlan PROe client to download, since some servers may still require legacy versions
    Switched to .tar.xz compression for native binaries to reduce web hosting footprint
  • 0027 20/Mar/14 – Fixed open file handle limit for very large backup sets (ulimit fix)
  • 0026 16/Feb/14 – Updated all CrashPlan clients to version 3.6.3, improved handling of Java temp files
  • 0025 30/Jan/14 – glibc version shim no longer used on Intel Synology models running DSM 5.0
  • 0024 30/Jan/14 – Updated to CrashPlan PROe 3.6.1.4 and added support for PowerPC 2010 Synology models running DSM 5.0
  • 0023 30/Jan/14 – Added support for Intel Atom Evansport and Armada XP CPUs in new DSx14 products
  • 0022 10/Jun/13 – Updated all CrashPlan client versions to 3.5.3, compiled native binary dependencies to add support for Armada 370 CPU (DS213j), start-stop-status.sh now updates the new javaMemoryHeapMax value in my.service.xml to the value defined in syno_package.vars
  • 0021 01/Mar/13 – Updated CrashPlan to version 3.5.2
  • 0020 21/Jan/13 – Fixes for DSM 4.2
  • 018 Updated CrashPlan PRO to version 3.4.1
  • 017 Updated CrashPlan and CrashPlan PROe to version 3.4.1, and improved in-app update handling
  • 016 Added support for Freescale QorIQ CPUs in some x13 series Synology models, and installer script now downloads native binaries separately to reduce repo hosting bandwidth, PowerQUICC PowerPC processors in previous Synology generations with older glibc versions are not supported
  • 015 Added support for easy scheduling via cron – see updated Notes section
  • 014 DSM 4.1 user profile permissions fix
  • 013 implemented update handling for future automatic updates from Code 42, and incremented CrashPlanPRO client to release version 3.2.1
  • 012 incremented CrashPlanPROe client to release version 3.3
  • 011 minor fix to allow a wildcard on the cpio archive name inside the main installer package (to fix CP PROe client since Code 42 Software had amended the cpio file version to 3.2.1.2)
  • 010 minor bug fix relating to daemon home directory path
  • 009 rewrote the scripts to be even easier to maintain and unified as much as possible with my imminent CrashPlan PROe server package, fixed a timezone bug (tightened regex matching), moved the script-amending logic from installer.sh to start-stop-status.sh with it now applying to all .sh scripts each startup so perhaps updates from Code42 might work in future, if wget fails to fetch the installer from Code42 the installer will look for the file in the public shared folder
  • 008 merged the 14 package scripts each (7 for ARM, 7 for Intel) for CP, CP PRO, & CP PROe – 42 scripts in total – down to just two! ARM & Intel are now supported by the same package, Intel synos now have working inotify support (Real-Time Backup) thanks to rwojo’s shim to pass the glibc version check, upgrade process now retains login, cache and log data (no more re-scanning), users can specify a persistent larger max heap size for very large backup sets
  • 007 fixed a bug that broke CrashPlan if the Java folder moved (if you changed version)
  • 006 installation now fails without User Home service enabled, fixed Daylight Saving Time support, automated replacing the ARM libffi.so symlink which is destroyed by DSM upgrades, stopped assuming the primary storage volume is /volume1, reset ownership on /var/lib/crashplan and the Friends backup location after installs and upgrades
  • 005 added warning to restart daemon after 1st run, and improved upgrade process again
  • 004 updated to CrashPlan 3.2.1 and improved package upgrade process, forced binding to 0.0.0.0 each startup
  • 003 fixed ownership of /volume1/crashplan folder
  • 002 updated to CrashPlan 3.2
  • 001 30/Jan/12 – intial public release
 
 

6,692 thoughts on “CrashPlan packages for Synology NAS

      1. patters's avatarpatters Post author

        I have not had much time to devote to this unfortunately. The DSM 5.1 launch delayed me because I had to proceed with a test system, then tread very carefully since my Java packages were causing a Malware alert in the new Security Advisor scan. I had to be very careful not to mess up my new DSM 5.1 while testing that.

        Now that’s fixed I can hopefully try to get a fix out for PowerPC CrashPlan in the days ahead.

    1. Yoel's avatarYoel

      Hey Patters,

      The Java packages wont install today… getting a “the package does not contain a digital signature error” …

      Any ideas?

      Thanks as always!

      Y

      Reply
  1. Andy's avatarAndy

    I’ve been having trouble getting Crashplan to stay in running state on my Synology DS413. After the last uninstall to clean up some of the java heap settings I had been trying I can’t find the install package in Package Center any more. I can see the other packages, like Java and Minecraft, but not any of the flavors of Crashplan. Was the update pulled or is it something I did when cleaning up the last attempt?

    Reply
  2. Brad B.'s avatarBrad B.

    Same crash issue after upgrading DS413. Was driving me nuts so glad to hear it is not just me. Is there a way to re-install the previous build (0027) while the issues are being worked?

    Reply
    1. patters's avatarpatters Post author

      I think I have fixed the issue but I need someone to confirm it works before I enable PowerPC downloads from the repo again. In order to retain your config and spare you the hassle of re-adopting your backup set, can you edit the version number in /var/packages/CrashPlan/INFO to 3.6.4-0027.
      You’ll need to use the editor vi to do this:
      http://www.unix-manuals.com/tutorials/vi/vi-in-10-1.html

      Then download the package to your PC and use the Manual Install option in Package Center to upgrade:
      http://packages.pcloadletter.co.uk/downloads/crashplan3.6.4-merged-0028.spk

      I have replaced what I believe was the offending binary with a generic PowerPC compile (libjnidispatch.so contained inside jna-3.2.5.jar).

      Reply
      1. patters's avatarpatters Post author

        Can you confirm one thing for me? Can you create a new file in one of your backed up folders while you have the CrashPlan client open and check that it instantly detects one file to be backed up?
        If that’s working then my work here is done :)

      2. Hugh's avatarHugh

        Hmmm…. I may have spoken too soon. The client has been saying “waiting for backup” for about a half-hour now…

      3. Hugh's avatarHugh

        Yep, there’s an error in engine_error.log. The process is still running, but this is the error in the log:

        Exception in thread “W6156632_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:393)
        at com.code42.backup.path.BackupSetsManager.startScheduledFileQueue(BackupSetsManager.java:331)
        at com.code42.backup.path.BackupSetsManager.access$1600(BackupSetsManager.java:66)
        at com.code42.backup.path.BackupSetsManager$ScanWorker.delay(BackupSetsManager.java:1073)
        at com.code42.utils.AWorker.run(AWorker.java:158)
        at java.lang.Thread.run(Thread.java:745)

      4. patters's avatarpatters Post author

        Thanks, looks like there’s still a problem with that libjnidispatch.so that’s inside jna-3.2.5.jar. I tried one I took from a Ubuntu package for PowerPC which is the one that gives you that error. I then did find another Debian build which is where I got the builds for all the other Synology CPU architectures from, but that crashes completely and CP won’t even start (like my original release of 3.6.4-0028).

        I’ll have a crack at cross-compiling it myself using the Synology DSM 5.0 PowerPC toolchain later today.

  3. Mike's avatarMike

    Just to say I installed the new package on my DS415+ this morning and it’s working just great! The only thing I had to do was edit the ui.properties file in both the application package (MAC) & the ~/Library folder in order for my remote connection to work.

    Reply
  4. Mark's avatarMark

    I am trying to reinstall the CrashPlan package but it does not show up in the Community area of the Package Center. I removed and added packages.pcloadletter.co.uk a few times, refreshed and rebooted. I see the other packages like Bliss & Serviio but not CrashPlan.

    Reply
  5. Seed's avatarSeed

    I have the same issue as @mark, I cannot see the Crashplan on the package centre.

    I have a 213+ and stupidly uninstalled the original crash plan file I had from last year. Cannot see anynow :(

    Reply
  6. Mark Johnson's avatarMark Johnson

    I’m running a DS1513+ with DSM 5.0-4528. I updated to 3.6.4 on the NAS from 3.6.3 by clicking the CrashPlan “Update” button in the Package Center. All appeared to work ok, with 3.6.4 showing as the new version, however, all my NAS “inbound” backups had lost their backups and all started backing-up from scratch. I have paused them all and am wondering if I have done something wrong or is there a problem here and if so what can I do to recover the previous backups?

    Reply
      1. bombardierr's avatarbombardierr

        I have a DS213+ and have made the same mistake of having removed 3.6.3 in anticipation of 3.6.4, and am now patiently awaiting your much appreciated efforts, thanks btw!!

        Any chance 3.6.3 could be reposted for PowerPC in the interim if it’s going to be a while until you have time, it’s still functional, yes?

      2. Seed's avatarSeed

        Thanks for the update.

        I think what you do is pretty amazing. Its people like you who inspire others

      3. Fabien's avatarFabien

        Hello Patters and all,

        I’ve still have the java issue on my DS413 nas :
        Exception in thread “W9413707_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:393)
        at com.code42.backup.path.BackupSetsManager.startScheduledFileQueue(BackupSetsManager.java:331)
        at com.code42.backup.path.BackupSetsManager.access$1600(BackupSetsManager.java:66)
        at com.code42.backup.path.BackupSetsManager$ScanWorker.delay(BackupSetsManager.java:1073)
        at com.code42.utils.AWorker.run(AWorker.java:158)
        at java.lang.Thread.run(Thread.java:745)

        Is ti a workaround available for CPU like Freescale QorIQ P1022 ppc ?

        Thank you for all your work.

        Fabien

  7. Tycho Lamerigts's avatarTycho Lamerigts

    Upgraded to 0028 today on DS713+ running DSM 5.0-4528. Backup engine runs correctly. However, when I connect to engine with Crashplan gui, both gui and engine crash after about 1 minute. They simply disappear. The logs on engine show nothing out of the ordinary, no errors, no exceptions, just the normal info. I bumped the heap from 512 MB to 640 MB to test if the problem was memory-related but the behaviour did not change.

    I have been using your (awesome) Crashplan package for over a year and never had any crashes on earlier versions.

    Reply
      1. Mala's avatarMala

        The Crasplan client number don’t show up updates, only the main version is visible
        There may be a more updated version on CP’s website

        Open the client->Double click on the green crashplan logo, top right
        a console opens up->in the console type ‘version’ without quotes.

    1. Tycho Lamerigts's avatarTycho Lamerigts

      Solved. Eventually found out of memory exception in the engine logs. Increased heap even more to 768 MB. Now all seems well. Wonder if this version is more memory hungry than previous versions because the number of files in my backup set only marginally increased (from 86k to 88k) and yet I had to increase heap from 512 MB to 768 MB to make it work.

      Reply
  8. billerr's avatarbillerr

    Hi there,

    I just wanted to let you know that the 0028 update fails to install with the error “This package does not contain a digital signature”.

    I’m running DSM 5.1 Beta (perhaps this has something to do with the error – though other packages updated just fine) on a Syno DS412play.

    Reply
  9. andyyee's avatarandyyee

    A naive question on my end. I’ve been running Crashplan package 3.5.3-0025 on a Synology 1513+, DSM 4.2, without difficulty. However, the upgrade to Crashplan 3.6.4 seems to have affected it. I’ve stopped and started it and I can connect to it with the client. It’s running, and the client shows “backup complete!” even though I’ve added new files.

    Question: will the old package 3.5.3-0025 work with 3.6.4 version?

    Reply
  10. patters's avatarpatters Post author

    Status update on the PowerPC crash issue: I was considering that perhaps the Debian packages for libjava-jna might not be compiled quite right for this architecture. So I spent a long time to get this cross compiled myself for ARM. This was difficult because the source is not cross-friendly. I confirmed that my compiled build works perfectly on ARM, added files are immediately seen by CrashPlan and it does not crash, so my build method is fine.
    However, when I compiled for the PowerPC I get exactly the same crash as with the Debian libjnidispatch.so binary, so it looks like it could be a bug with libjna. However, linux-ppc isn’t even a supported architecture for libjna so I’m not sure how we can progress this.
    I guess I will have to write a hacky workaround for the PowerPC CrashPlan package, which will still have a dependency on a symlink to libffi.so.5. However, I noticed in my testing on a kind volunteer’s DS413 that the realtime backup feature has apparently never worked on PowerPC for some reason. You would have to wait until the full scan at 3am each night for CrashPlan to find new or changed files.

    Reply
      1. upje's avatarupje

        I totally agree. I’ve been a happy user of this package for sometime now. It’s too bad there’s a problem now.Offcourse we will be patient, but please focus on getting things up and runnning asap. Bells and whistles that don’t work – and haven’t worked before, but nobody noticed (!) – can be added later.

        I would like to take the oppurtinity to thank you for your work on this package. Too bad people never let the developer know they are happy with ther product, until it’s broken. Mea culpa.

    1. Martinos's avatarMartinos

      Hi Patters, I think you still working on the solution?
      After backup selection problems with CrashPlan 3.6.3, I removed CrashPlan from my DS213+
      The new version (3.6.4) does not appear in the package list. I understand from your post above that you have consciously blocked.

      I appreciate your work very much.
      I expect you to let us know once you have a working version for PowerPC?
      Tanks in advance!

      Reply
  11. Steen Christensen's avatarSteen Christensen

    I’ve just unstalled crashplan, because it keept startering and stopping.. and now i want to reinstall it… but it dont show up in the comunity part of my package manager :( only the pro server… where is the other ones… like my basic one …

    Its a DS2413+ running DSM 4.3-3827

    Reply
  12. Jirka's avatarJirka

    hi. i have my synology at 10.0.0.100 and java + crashplan installed and running. i edited the ip adress in ui.properties file in conf folder on pc. synology firewall is set to pass everything for crashplan and pc firewall is off. but i cant see synology folders on my pc. when i shut down the crashplan service on pc and restart the program it says it cant connect to backup engine – which runs on synology, right? what am i doing wrong then? can somebody help me please?

    Reply
    1. Jirka's avatarJirka

      oh how stopid am I? it seems that everytime i submit my question online i find a solution immediately lol. just didnt delete the hash in config file… :)

      Reply
  13. gnomehole's avatargnomehole

    I’m still trying to get it on a DS209 thats running DSM 4.2-3252 and I don’t see Crashplan as a package any longer. I suspect its because it was updated for DSM 5. Do you still have the package available for those that can’t upgrade to 5? I have 2 of these NAS boxes and really want to get Crashplan on them. Thanks.

    Reply
      1. sebweaver's avatarsebweaver

        Hi Patters,

        First of all, many thanks for your great work on this package ! :-)

        I uninstalled the faulty 3.6.4 from my DS413 and reinstalled manually the 3.6.3 as you suggested above. However, after a few minutes Crashplan automatically updated it to the 3.6.4 again…

        Can we do something to prevent that and stick to 3.6.3 until a fix is released ?

        Thanks in advance,

        Sébastien

      2. patters's avatarpatters Post author

        You can’t stop CrashPlan pushing updates. However, the old Synology package should remain in a working state after the autoupdate of the actual CrashPlan software.

      3. Steen Christensen's avatarSteen Christensen

        Hi patters

        Your Work is most appricated!.

        I’ve tried installing 3.6.3-merged-0027.spk

        When it loads, it fails with this error:
        Failed to install the package.

        There was a problem downloading crashplan-native-i686.tgz from the official download link, which was “http://packages.pcloadletter.co.uk/downloads/crashplan-native-i686.tgz” Alternatively, you may download this file manually and place it in the ‘public’ shared folder

        when looking at this adress, i cant see this tgz file.. but a tar.xy file…
        what am i doing wrong…

        I’m installing on a Synology 2413+, running DSM 4.3-3827

  14. gnomehole's avatargnomehole

    My install is asking for crashplan-native-armv5tel.tgz in the downloads directory. I don’t see it in the one you just published (the old directory) or its parent. Is this available somewhere?

    Reply
  15. Derek Hardwick's avatarDerek Hardwick

    Thanks for the great work, this package was one of the reasons I bought my first DS a while ago. :)

    I’m running DSM 5.0-4528 Update 1, and have enabled user home and your package source to the package center, but (after refreshing) still do not see your CrashPlan package (or any other packages in your repository). This worked fine on other DSes before 5.0.

    Regards

    Reply
  16. derekhardwick's avatarderekhardwick

    Great package (used it many times before).

    Unfortunately after enabling home, adding the repository in package center, and refreshing, I don’t see any of your packages in the package center (on 5.0-4528 Update 1).

    Any ideas? Can’t live without this package.

    Reply
    1. derekhardwick's avatarderekhardwick

      I see now, after posting this, that you have pulled the CrashPlan for PowerPC due to some crash issues, which is what my DS413 is. I will wait patiently :)

      If you need someone with a DS413 for testing, I’m happy to help.

      Reply
  17. TerronV's avatarTerronV

    I had CrashPlan running, then it stopped several months ago. I’m just now getting around to looking at it again. CrashPlan would not Run from the installed packages. I thought maybe I needed to uninstall then reinstall it. I used the “Package Center” to uninstall and when I went to the repository, all of your apps show up except for “CrashPlan”. I did go ahead and reinstall the latest version of Java SE Embedded 7. Can you tell me how I can get CrashPlan back on the NAS? I have the DS413 and running DSM 5.0-4528 Update 1.
    Thanks.

    Reply
    1. TerronV's avatarTerronV

      My apologies. I was looking at old comments and didn’t see the solution above. I installed the package manually and now it’s installed and running. Thank you.

      Reply
  18. Chris's avatarChris

    same problem here as Andy: After the update, the CrashPlan software always shows Backup completed, although it isn’t… DS412+ here. Any suggestions?

    Reply
  19. Martinos's avatarMartinos

    The problem with CrashPlan still exist. I’m unable to backup my data for more then one week now. My Synology model: DS213+. (with an PowerPC CPU) Patters, you are working on it?
    And last but not least; many thanks for your great work!

    Reply
    1. sebweaver's avatarsebweaver

      Hi Martinos,

      I was in the very same situation. Rather than taking a risk with leaving my data unsecured in the expectation of a fix, I eventually decided to reinstall the previous release (3.6.3-0027). Even if Crashplan has automatically updated it to 3.6.4 since (as discussed above with Patters) it’s working so far. Peace of mind is priceless when talking about critical data…

      Regards

      Reply
      1. Martinos's avatarMartinos

        I did the above steps. It seemed to work a few hours, but at the time of making backups, CrashPlan crashed.

      2. kevin williams's avatarkevin williams

        I’ve been running 0027 for a week and crashplan on synology hs been backing up w/o issue.

      3. bombardierr's avatarbombardierr

        I was in the same boat as well with my DS213+. I uninstalled 0027 and was patiently awaiting 0028. A couple of days ago, due to the same paranoia, I manually installed 0027 via the directions above, and then also downgraded my Windows 8 control machine from 3.6.4 back to 3.6.3 just to be safe and consistent. I did have problems at first similar to what you are reporting, but then I uninstalled from both the DS and Windows 8 machine, restarted both, reinstalled both, restarted again, and all has been well and stable as it has been in months past.

  20. Tommy's avatarTommy

    I have an HP N54L micro server with Intel CPU running DSM 5.0-4458. Everything was fine with Crashplan until the update to version 3.6.4-0028. Now it just sits there and says:
    Waiting for backup
    To do: 0 files (0MB)
    Completed: 0 files (0MB)
    Last backup: Initial backup not complete

    I have tried going back to version 3.6.3 but it wasn’t working either. I was getting the error:
    There was a problem downloading crashplan-native-i686.tgz from the official download link, which was “http://packages.pcloadletter.co.uk/downloads/crashplan-native-i686.tgz” Alternatively, you may download this file manually and place it in the ‘public’ shared folder.

    At the download location there is crashplan-native-i686.tar.xz and I have extracted and compressed it back to crashplan-native-i686.tgz and placed it in the Public directory and it seemed to install fine but didn’t work regardless.
    Help!

    Reply
  21. Paul's avatarPaul

    I have worked with crashplan on my 710+ NAS for about 1.5 years succesfully now. I recently bought a new laptop, where I had to re-install the desktop client (while also moving from win7 to win8.1). When logging in to the desktop client, it asked me if I wanted to adopt a computer. I said yes, adopted my synology NAS (Diskstation) from the dropdown list. Then the application was synchronizing for a long time. After completion I checked for the files I wanted to backup (normally it then showed the content of my volume1 drive on the NAS), but now I don’t see anything from my NAS anymore; only files from my new laptop (which, for my old laptop, I never even saw; there I only saw the Diskstation). Logging in to my crashplan account now also only shows my new laptop, and not my diskstation; retrying to adopt again (via guid new in command line of app) does not work either. I simply don’t see my Diskstation anymore. The 2.4 TB I had backed up is still there (I see it on the restore function).

    Now my question: how do I return to the old situation, in which I could connect to my NAS, with the desktop client?

    Reply
    1. Shane's avatarShane

      Remember, you need to disable the service on windows and – Once the engine is running, you can manage it by installing CrashPlan on another computer, and editing the file conf/ui.properties on that computer so that this line:
      #serviceHost=127.0.0.1.

      Right now you have installed CrashPlan on your laptop. You need to install it to point to your synology. By doing that you will point the local application to connect to the synology headless client.

      Reply
      1. Paul's avatarPaul

        Hoi Shane.

        Thanks for you fast reply. That is indeed something I did not do yet, and not yes sure how to do this either:
        – disable sevice the service on windows –> how do I do this?
        – I found the file you refer to; to what address do I then have to pint it towards? Basically the IP address of my NAS? And do I need to do something with setting the right port (I think this is called: ServicePort and where can I find that?).
        – by editing the ServiceHost I solve both issues at the same time?

      2. Shane's avatarShane

        Hey Paul. Open up a run dialog box (Windows+R) and type in services.msc. Find the Crashplan services and double click, change it from Automatic to Disabled and then stop the service.

        Yes, the IP is going to be the IP of the NAS. On my network it is 192.168.1.200. You have to remove the # in front of the IP and then change the 127.0.0.1 to your IP address. Leave the service port alone as you would have to change it on the Synology and there is no reason to do that.

        By turning off the service in windows and changing the IP address in the conf/ui.properties, restart your Synology and then start up the client in Windows.

      3. Paul's avatarPaul

        Hoi Shane,

        Many many thanks for your help!!

        I did exactly as you said, and I indeed (only) see my NAS back. Now the system is synchronizing block information, which is a lengthy process I know from before. Seeing the amount of files I am still scanning, I am confident I will get back to the desired situation…

        Paul

      4. Shane's avatarShane

        Excellent. I know mine did the same thing. However mine did not work. I tried to reinstall. There is a lot of talk about the newest update not working and I will be putting on an older version when I get back home (I’m working away for two weeks). Let us know how things work out for you Paul.

      5. Paul's avatarPaul

        Hi. Just wanted to post that I am back to normal operation. Backup engine runs fine (even though I am running in version 3.6.4-0028; I saw that many people have issues with this version?). Backing up since yesterday, and all is going smooth. Perhaps this has to do with my configuration (I own a DS 710+, so an older version HW)… Either way: thanks again for your help. Greatly appreciated!

  22. Arlo Miller's avatarArlo Miller

    Installation went great, thanks so much for putting this together!

    I’ve got Crashplan on my 415play working as a destination for one of my other computers, but I cannot get the Synology to back up to Crashplan cloud. It says “Unable to back up – no archive encryption key”. It seems that a few others have had this problem, but I haven’t seen a solution….

    Reply
    1. Arlo Miller's avatarArlo Miller

      Well nuts. Figured it out. You can get that error if you haven’t selected any files for backup yet. Once you do select some files and try to start the backup, it prompts you for the encryption key and then you are good to go!

      Reply
  23. Fred's avatarFred

    Hello all,

    After upgrading my 214play to 028, and having it working for a few days, it’s again stuck on scanning the same file all the time… there don’t seem to be error messages in the log (but maybe I’m not looking at the right one)

    It slows down the whole system, also, which is very annoying. I tried to diminish the memory to 750 (out of 1 Gb) but id didn’t help

    Compression is off… and the folders are split into 3 backups

    My work laptop uses it as a destination, yesterday it was compacting the data, seemed to take quite memory, but I think it’s done now…

    I really don’t see what to change :(

    Thanks in advance if you have any suggestions!

    Reply
  24. Marcus's avatarMarcus

    For some unknown reason Crashplan von my 412+ stopped working. Looking into the issue I found that engine_output.log was complaining: “JVM temp directory /var/@tmp does not exist!” and indeed this directory does not exist.

    I looked through the scripts to find that in /var/packages/CrashPlan/scripts/start-stop-status the line “TEMP_FOLDER=”`find / -maxdepth 2 -name ‘@tmp’ | head -n 1`” most likely needs to be change to “TEMP_FOLDER=”`find / -maxdepth 2 -name ‘tmp’ | head -n 1`”. But this didn’t solve the issue at hand. The same error messages shows up in engine_output.log file again.

    I know I could create a link to /var/tmp which does exists but I would like to understand why this changed suddenly and why my fix doesn’t work….

    Reply
    1. John B.'s avatarJohn B.

      I ran into the same issue – I think the installation script has a tiny bug, that selects the wrong temporary directory in some cases (I have DS 411+II).

      Update the bin/run.conf file to point to a real directory,
      e.g. change “-Djava.io.tmpdir=/var/@tmp” to “-Djava.io.tmpdir=/volume1/@tmp”

      Reply
      1. Marcus's avatarMarcus

        Great, that fixed it! I know my way around with Crashplan, but I didn’t know about the config files in the bin directory -.- Thank you!

    2. patters's avatarpatters Post author

      That is very odd – I’m not sure how that could happen.
      What happens if you run this on your NAS:
      find / -maxdepth 2 -name ‘@tmp’ | head -n 1
      It should return /volume1/@tmp

      Reply
      1. John B.'s avatarJohn B.

        Hi Patters,

        Yes, it returns “/volume1/@tmp” (after fixing the quotes I assume WordPress destroyed).

        I even ran the entire following line from your installer.sh script:
        TEMP_FOLDER=”`find / -maxdepth 2 -name ‘@tmp’ | head -n 1`”
        and the ‘set’ command reports the correct value:
        TEMP_FOLDER=’/volume1/@tmp’

        Perhaps the issue was that the run.conf wasn’t updated with this value?
        Perhaps only in some cases, e.g. install works but update does not?

      2. Marcus's avatarMarcus

        This returns nothing at all since there is no @tmp directory on my Synology. I have no idea if there ever was one, but now there isn’t any.

      3. John B.'s avatarJohn B.

        @Marcus, not sure what your expertise level is, but you can’t just copy & paste the command from here and run it. You need to use proper type of quotes, as WordPress.

        To check if you have the folder, the response to this command should be the folder path:
        ls -d /volume1/@tmp

      4. Marcus's avatarMarcus

        I have already looked for the directory before I posted my first question regarding this: The directory is just not there. There is a tmp directory, but no @tmp directory

  25. Enjoy's avatarEnjoy

    I can not install the latest version 3.6.3-0027. Error massage: This package does not contain a digital signature. How it can be installed?

    Reply
    1. Ken's avatarKen

      Just for clarification, are you running DSM5.1 or DSM5.0? It appears DSM5.1 now includes some package signature checking and perhaps that is what you are running up against. I’ve not upgraded to 5.1 yet, but I see a comment here that someone did successfully. But they may have already had the package installed before the upgrade…

      Reply
      1. Richard's avatarRichard

        Package Center -> Settings -> “General” tab -> Trust level (all the way down) -> Set to any publisher (during install, set back after installation) -> Install without problem

    2. Brad's avatarBrad

      In DSM 5.1 and newer versions you need to click “Settings” in the Package Center then choose “Trust Level” as “Any Publisher” under the general tab. After you install the CrashPlan package you can set the trust level back to a higher level. I’m running 3.6.4-0028 without any problems on the latest DSM 5.1 on a DS412+ with 2GB RAM.

      Reply
      1. Enjoy's avatarEnjoy

        I installed 3.6.3-0028 on DSM 5.1 but this package don’t run :( I click “Run” i receive message “Failed to start the service package. Check the package log to ensure the package has started successfully, then stop and restart the package to allow desktop client connections.”. I restarted Sinology Disk and nothing :(

    3. John B.'s avatarJohn B.

      This is a new feature of DSM 5.1: you need to change the Trust Level in the Package Center settings. Personally, I changed it to “Any publisher”, installed the package and then set it back to “Synology Inc”.

      Reply
      1. Jari's avatarJari

        Same problem as Enjoy.
        Managed to install after changing the trust level.
        But when I try to start Crashplan I also get “Failed to start the service package”
        Looked at all the Crashplan-log-files, not a single word of this in any. So it fails even before Crashplan start to log whats going on.

      2. Jari's avatarJari

        I managed to get it working. Uninstalled Crashplan, rebooted and then i reinstalled Crashplan. Never touched my Java.
        DS1813+ : DSM 5.1-5004 : Java SE 7 version 1.7.0_71-0028 : Crashplan 3.6.4-0028

    1. Aurel's avatarAurel

      Hello Richard,
      I almost have same configuration as yours but with DS412+ (same proc & RAM amount)… but the backup process seems painfull since I upgraded crashplan package to 3.6.4-0028.
      Your post is dated 07th nov –> is it still working properly on your side? Any specific configuration applied?

      thanks !

      Reply
  26. Mark's avatarMark

    Sorry if this has already been covered. I have a DS214Play. The backup was running fine (thank you for a great package and solution) but has recently begun to start and stop about every 3 minutes. Am I right in understanding that there is a problem with the latest version? What should I download for the DS214Play in order to fix the issue? Thank you.

    Reply
    1. patters's avatarpatters Post author

      DS214Play works fine with the latest version (I own one). It’s only PowerPC and I think possibly 64bit Intel CPUs that have issues currently. You may have some other issue. How big is your backup set?

      Reply
      1. Mark's avatarMark

        Replying to your response to my earlier question / issue. Thanks for your reply. I reduced my back up size to only around 150GB at present, just in case it was that causing the issue. It has not helped the problem.

        At the moment I am running DSM 5.1-5004. I have Crashplan 3.6.4-0028. I have installed Java (from Oracle) 7.0.51-0030. My DS214play has the standard 1024MB memory. Crash plan stops and restarts every 2 or 3 minutes. Similar to other reports.

  27. Marcel's avatarMarcel

    Hi folks …. since I upgraded to DSM 5.1 yesterday your installation package 3.6.4 works for me again! I have a DS 213+ with a PPC unit … ! …. Good news … maybe? …. But I have to say that until now I only tested the installation routine … and did not perform any back up .. this will follow later this weekend …

    Reply
    1. Marcel's avatarMarcel

      … it seams if my first post was a little bit to optimistic. As i wrote the installation routine itself had no problems. After that I modified the config file of my lokal crashplan installation as desribed below. So i was able to see my Diskstation within the local crashplan installation on my PC and also online at crashplan central (after linking the Diskstation to my crashplan account). After that the log of my Diskstation crashplan installation showed entries like:

      Start using destination Crashplan Central (42)
      Preferences saved by the user
      Scanning for files to backup
      Scanning for files completed in …

      And the crashplan software on my PC shows the following:

      Connectin to backup destination.
      To do: 965 files
      Completed: 0 files
      Last backup: Initial Backups not complete

      And after that noting happened for the last 12 hours … :-(

      Any ideas what could be the problem?

      Oh, I own a Diskstation DS 213+ with PPC … :-)

      Best regards,
      Marcel

      Reply
  28. B. Goodman's avatarB. Goodman

    OK, now DSM 5.1 is out. I had been holding off on upgrading Java *and* DSM (I’m still at the original 5.0 Update 1).

    So I need/want to upgrade Java and DSM. Should I uninstall CrashPlan, then uninstall Java, then update DSM, re-install Java, re-install CrashPlan, and “adopt” my backup set?

    Also, what happens to my friends’ backup sets? Will they have to take action to reconnect?

    Is there some better way to do all of this?

    Reply
    1. patters's avatarpatters Post author

      Stop CrashPlan, upgrade Java first (assuming you’re using my Java package – I just fixed an issue it had with DSM 5.1). Then upgrade to 5.1. Worked fine on my DS214Play. No need to adopt or do anything to the CrashPlan package.

      Reply
      1. patters's avatarpatters Post author

        It will, but you’ll need to repair that zone.tab file. If you update Java first, then move to DSM 5.1 there is no damage.

      2. B. Goodman's avatarB. Goodman

        I’m using Synology’s Java 1.7.0_51. So I stop CrashPlan, uninstall Synology’s Java, install your 1.8, upgrade to DSM 5.1, then upgrade CrashPlan 3.6.4?

      3. patters's avatarpatters Post author

        I posted a one-line command to fix it a little further back in the comments. I now realise that using TinyURL was a bad idea. Wget saves out the referral HTML rather than the actual file. Use this command instead:
        wget -O /usr/share/zoneinfo/zone.tab http://dl.dropboxusercontent.com/u/1188556/zone.tab

      4. B. Goodman's avatarB. Goodman

        So I removed Synology’s Java 7, installed Patters Java 8, upgraded to DSM 5.1, but CP 3.6.3 wouldn’t run. So I removed Patters Java 8, installed Patters Java 7, and CP now runs.

        The new “Security Advisor” warns that “Optware has been found” at /opt/bin and “Malicious startup scripts” at etc/rc.local. Does this have anything to do with CrashPlan or Patters Java?

        Finally, on the DS412+ should I go ahead and upgrade CP to 3.6.4?

  29. Tommy's avatarTommy

    I have an HP N54L micro server with Intel CPU running DSM 5.0-4458. Everything was fine with Crashplan until the update to version 3.6.4-0028. Now it just sits there and says:
    Waiting for backup
    To do: 0 files (0MB)
    Completed: 0 files (0MB)
    Last backup: Initial backup not complete

    I have tried going back to version 3.6.3 but it wasn’t working either. I was getting the error:
    There was a problem downloading crashplan-native-i686.tgz from the official download link, which was “http://packages.pcloadletter.co.uk/downloads/crashplan-native-i686.tgz” Alternatively, you may download this file manually and place it in the ‘public’ shared folder.

    At the download location there is crashplan-native-i686.tar.xz and I have extracted and compressed it back to crashplan-native-i686.tgz and placed it in the Public directory and it seemed to install fine but doesn’t start.
    Help!

    Reply
  30. JJacques's avatarJJacques

    Hello all,

    I have two NAS Synology DS214e (NAS backup) et DS213j (NAS source).
    I want to configure CrashPlan to backup one of the NAS on the other one.
    Everything is OK but I cannot see in the list “Other computers” the second NAS (the first one is visible and I changed the ui_properties file to be the “source”).
    This configuration was running correctly until I reinstalled crashplan on the NAS source and I did an error by pushing the deactivation button for “NAS backup”.

    Some one has an idea to fix this problem ?

    Thanx for you answers.

    Reply
  31. jack's avatarjack

    On my recent reinstallation of CrashPlan on DS1513, I changed the incoming save directory from CP program. It seemed to work for 1 computer but not others. I uninstalled and reinstalled again. I let used default directory which is: /volume1/crashplan/backuparchives

    Things seem to be working but the /volume1/crashplan directory does not show up in file station or shared folders. I know its there because I can see it in the crash plan desktop program.

    Is there a way to get it to show up? do I need to do that?

    secondly, is it not possible to change the directory for incoming backups on synology?

    Thanks.

    Reply
  32. Christopher S Peisher's avatarChristopher S Peisher

    I guess i’m lucky as my upgrade seems to have gone off without a hitch. My problem now, and has been since i first started running this on my NAS is that the backup process if VERY slow compared to what it was previously on my desktop. Before i upgraded to 2GB of RAM i was consistently uploading at 1.9Mb/s, now after the upgrade it’s roughly the same, 1.7Mb/s. How can i speed up the transfer rate?

    patters Post author
    October 22, 2014 at 15:22
    That’s determined by CrashPlan’s servers. Not too much you can do about that I’m afraid.

    Christopher S Peisher
    November 11, 2014 at 14:13
    I guess i don’t understand why the back up rate would be slower from a NAS drive that it was for my PC. What kind of transfer rate are other getting? I have 2.4TB to go and it says it will take 4.6 months. My Primary concern is that it seems that the drives never go to sleep and the NAS is always on, could this be shortening the life of the NAS/drives?

    edited 11/11 – since my reply was stuck on the October 22 post a few pages back and would never be visible to new posters.

    Reply
      1. bildagenturen's avatarbildagenturen

        Using the tips i posted above, I get up to 50Mbit/s aka. maxing out my Internet-connection (500/50 on Cable). From Sweden.

  33. Dan Lauer's avatarDan Lauer

    As of today, with 5.1 now on my DS413, crashplan3.6.3-merged-0027.spk will install but will not run. With the new security measures in 5.1, the Package Center wants a publisher cert by default, so you configure Trust Level to Any Publisher. Once the install completes, Run will not start CrashPlan, and the log is empty (“No Data”). Ideas?

    Reply
  34. Eric Henson's avatarEric Henson

    Ever since 3.6.4-0028 auto-installed, our backup has stopped functioning. In the log, it just loops endlessly between started, scheduled to always run, scanning, starting backup, stopping, and scanning for files stopped. A cycle of this takes roughly four minutes. Oddly, the timestamps are all off by seven hours, except for the timestamp on the stopping event, which is correct. We’re running java Manager 7.0.51-0030 and DSM 5.1-5004.

    Does anybody have any ideas on how to correct this? We’re presently dead in the water with 30% of our file store not backed up yet.

    Reply
    1. patters's avatarpatters Post author

      The Synology Java Manager doesn’t support timezones properly. My Java packages do.
      What is your NAS model, so I can get an understanding of your CrashPlan issue.

      Reply
      1. Eric Henson's avatarEric Henson

        Thank you for clearing up the timestamp issue. :) We’re presently running with the following versions:
        Device: DS1813+ (INTEL Atom D2700 – 2 cores @2.13GHz, 2GB RAM)
        DSM: 5.1-5004
        Java Manager: 7.0.51-0030
        Java: 1.7.0_51
        CPP Package: 3.6.4-0028

        The CPP package still restarts every 3-4 minutes, seemingly during the initial file scan.

  35. captn's avatarcaptn

    Like a few others, I’m also getting “Failed to start the service package. Check the package log to ensure the package has started successfully, then stop and restart the package to allow desktop client connections.” after updating to DSM 5.1.

    DS212J, and just updated/reinstalled Java 1.7.0_71.

    Reply
  36. Martinos's avatarMartinos

    After updating DSM 5.1, my Crashplan worked as before.
    But after removing Java 7 and installing the new version (1.7.0_71-0029), Crashplan didn’t start.
    So I removed crashplan 3.6.3 and install them again through the ‘Manual Install’ option in Package Center. I chose the file “crashplan3.6.3-merged-0027.spk”. But Crashplan didn’t start. I’m also getting the error “Failed to start the service package. Check the package log to ensure the package has started successfully, then stop and restart the package to allow desktop client connections.”

    Reply
  37. Enjoy's avatarEnjoy

    The same problem as above.
    Station: DS114+
    DSM: 5.1-5004
    Java: 1.7.0_60
    CrashPlan: 3.6.4-0028

    Any idea how fix this?

    Reply
  38. Enjoy's avatarEnjoy

    I have installed Java from the Java Manager (package downloaded from oracle.com).
    Do I need to install Java SE Embedded 7 or 8 from patters? Previously I did not have to install your Java package in order to use CrashPlan.

    Reply
  39. Martinos's avatarMartinos

    Oeps, two posts above, I forgot to mention my device model.
    Station: DS213+ (with the PowerPC CPU)
    DSM: 5.1
    Java: 1.7.0_71-0029
    CrashPlan: 3.6.3-0027

    A solution to this problem is very welcome.

    Reply
  40. jemostrom's avatarjemostrom

    I’m also seeing this starting/stopping cycle with about one cycle/minut. Also, the security center warns that the zontab file is modified – don’t know if this has anything to do with this.

    In the engine_output file with the first part of each line removed (don’t know if this helps in figuring out what the problem is):

    BEGIN Copy Custom
    Directories: [.Custom, custom, /volume1/@appstore/CrashPlan/conf/.Custom, /volume1/@appstore/CrashPlan/conf/custom]
    NOT waiting for custom skin to appear
    NO customizations found.
    END Copy Custom
    Loading from default: /volume1/@appstore/CrashPlan/conf/default.service.xml
    Loading from my xml file=conf/my.service.xml
    Loading ServiceConfig, newInstall=false, version=6, configDateMs=1415542361086, installVersion=1388642400364
    OS = Linux
    AuthorityLocation@11110706[ location=central.crashplan.com:4–More– (54% of 5098 bytes)
    Checking Java memory heap max.
    Previous Java memory max heap size was 512
    END Loading Configuration

    ***** STOPPING *****
    Stopping service…
    Selector shutting down…
    Selector shutting down…
    Selector shutting down…
    SelectorEngine stopped.
    Selector shutting down…
    SelectorEngine stopped.
    [Factory 32215117]stop() Stopping
    SelectorEngine stopped.
    UISession stopped.
    SelectorEngine stopped.
    Backup torn down.
    DownloadManager stopped.
    SystemWatcher stopped.
    Service stopped

    Reply
  41. iFinch's avatariFinch

    Just migrated from 3.6.3 DS413 running Synology 5.1 to a shiny new DS1815+ and it’s all running and synchronising block information now :-)

    Synology migration was painless – hard disks moved over, fire up Synology Assistant and point it at the image I’d downloaded of 5.1 for DS1815+ and all configuration retained. Took about 10 mins in total and I didn’t even have to restore config from backup. Had to reinstall Java (Intel now) and then reinstall CrashPlan 3.6.4 to get that backup and running but that was expected.

    Patters – thanks for your efforts on this, fantastic!

    Reply

Leave a comment