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.


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:
    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 ( means the server is listening for connections on all interfaces) e.g.:

    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:
    assuming that the Synology NAS has the IP
    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/” (Mac OS X installed for all users)
    “~/Library/Application Support/CrashPlan/” (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!


  • 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:
  • 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.


#--------CRASHPLAN installer script
#--------package maintained at

[ "${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
  [ "${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=""
  [ "${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"
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_FILE="`echo ${NATIVE_BINS_URL} | sed -r "s%^.*/(.*)%\1%"`"
OLD_JNA_FILE="`echo ${OLD_JNA_URL} | sed -r "s%^.*/(.*)%\1%"`"
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"
UPGRADE_FILES="syno_package.vars conf/my.service.xml conf/service.login conf/service.model"
PUBLIC_FOLDER="`synoshare --get public | sed -r "/Path/!d;s/^.*\[(.*)\].*$/\1/"`"
#dedicated JRE section
if [ "${WIZARD_JRE_CP}" == "true" ]; then
  #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_BUILD="ARMv5/ARMv6/ARMv7 Linux - SoftFP ABI, Little Endian 2"
  elif [ "${SYNO_CPU_ARCH}" == "armv7l" ]; then
    JAVA_BUILD="ARMv5/ARMv6/ARMv7 Linux - SoftFP ABI, Little Endian 2"
  elif [ "${SYNO_CPU_ARCH}" == "armhf" ]; then
    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_BUILD="Power Architecture Linux - Headless - e500v2 with double-precision SPE Floating Point Unit"
  elif [ "${SYNO_CPU_ARCH}" == "i686" ]; then
    JAVA_BUILD="x86 Linux Small Footprint - Headless"
  elif [ "${SYNO_CPU_ARCH}" == "x64" ]; then
    JAVA_BUILD="Linux x64"
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

    [ -f ${PUBLIC_FOLDER}/${JAVA_BINARY}.tar.gz ] && JAVA_BINARY_FOUND=true
    [ -f ${PUBLIC_FOLDER}/${JAVA_BINARY}.tar.tar ] && 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
    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" >> $SYNOPKG_TEMP_LOGFILE
      exit 1

    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" >> $SYNOPKG_TEMP_LOGFILE
      exit 1

    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

preinst ()
    WGET_FILENAME="`echo ${WGET_URL} | sed -r "s%^.*/(.*)%\1%"`"
    wget ${WGET_URL}
    if [[ $? != 0 ]]; then
      if [ -d ${PUBLIC_FOLDER} ] && [ -f ${PUBLIC_FOLDER}/${WGET_FILENAME} ]; then
        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
  exit 0

postinst ()
  if [ "${WIZARD_JRE_CP}" == "true" ]; then
    #extract Java (Web browsers love to interfere with .tar.gz files)
    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
      tar xzf ${JAVA_BINARY}.gz
    elif [ -f ${JAVA_BINARY}.tar ]; then
      tar xf ${JAVA_BINARY}.tar
    elif [ -f ${JAVA_BINARY}.tar.tar ]; then
      #Internet Explorer
      tar xzf ${JAVA_BINARY}.tar.tar
    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}
  #extract CPU-specific additional binaries
  mkdir ${SYNOPKG_PKGDEST}/bin
  [ "${OLD_JNA_NEEDED}" == "true" ] && tar xJf ${TEMP_FOLDER}/${OLD_JNA_FILE} && rm ${TEMP_FOLDER}/${OLD_JNA_FILE}

  #extract main archive
  #extract cpio archive
  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 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
  #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}/

  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
  [ -e ${OPTDIR}/lib/ ] && rm ${OPTDIR}/lib/

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

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

 exit 0

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

  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
      if [ -f ${SYNOPKG_PKGDEST}/../${SYNOPKG_PKGNAME}_data_mig/${FILE_TO_MIGRATE} ]; then
    if [ -d ${SYNOPKG_PKGDEST}/../${SYNOPKG_PKGNAME}_data_mig/${FOLDER_TO_MIGRATE} ]; then
    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}
  exit 0


#--------CRASHPLAN start-stop-status script
#--------package maintained at

TEMP_FOLDER="`find / -maxdepth 2 -path '/volume?/@tmp' | head -n 1`"
MANIFEST_FOLDER="/`echo $TEMP_FOLDER | cut -f2 -d'/'`/crashplan" 
PKG_FOLDER="`dirname $0 | cut -f1-4 -d'/'`"
DNAME="`dirname $0 | cut -f4 -d'/'`"
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"`"
source ${OPTDIR}/install.vars
source /etc/profile
source /root/.profile

start_daemon ()
  #check persistent variables from syno_package.vars
  if [ -f ${OPTDIR}/syno_package.vars ]; then
    source ${OPTDIR}/syno_package.vars
  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/

  #fix up some of the binary paths and fix some command syntax for busybox 
  #moved this to from 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}"

  #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/

  #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 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

  #updates may also overwrite our native binaries
  [ -e ${OPTDIR}/bin/ ] && cp -f ${OPTDIR}/bin/ ${OPTDIR}/lib/
  [ -e ${OPTDIR}/bin/ ] && cp -f ${OPTDIR}/bin/ ${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/

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

  #set appropriate Java max heap size
  RAM=$((`free | grep Mem: | sed -e "s/^ *Mem: *\([0-9]*\).*$/\1/"`/1024))
  if [ $RAM -le 128 ]; then
  elif [ $RAM -le 256 ]; then
  elif [ $RAM -le 512 ]; then
  elif [ $RAM -le 1024 ]; then
  elif [ $RAM -gt 1024 ]; then
  if [ $USR_MAX_HEAP -gt $JAVA_MAX_HEAP ]; then
  if [ $JAVA_MAX_HEAP -lt $JAVA_MIN_HEAP ]; then
    #can't have a max heap lower than min heap (ARM low RAM systems)
  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}"

  #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${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/ 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

    #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\"/" "${OPTDIR}/bin/${ENGINE_CFG}"
    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}"

  #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
  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}
    [ -z ${LANG} ] && export LANG=en_US.utf8
    export CLASSPATH=.:${OPTDIR}/jre-syno/lib

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

  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
    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

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
  #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
  rm -f ${PID_FILE}
  return 1

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

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

    if daemon_status; then
      echo Stopping ${DNAME} ...
      exit $?
      echo ${DNAME} is not running
      exit 0

    exit $?

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

    echo "${DLOG}"
    exit 0

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


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": "",
            "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


  • 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
  • 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
  • 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 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 taken from Debian JNA 3.2.7 package with dependency on newer (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 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), 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
  • 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 to 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 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 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. craig1001

    I’m on CrashPlan PRO (Small Business) and always have been. Can’t get it working now, hence looking around. Will there be a new CPSB version from Patters or is it just a CP version that’s coming?

    1. patters Post author

      CPSB is CP PRO. Yes, new version as soon as I get my data migrated and confirm it works. Have raised a support case 24 hours ago. I’ll be telling them it’s Intel Linux, not drawing attention to anything else.

    2. Patrick

      Where can i find the old crashplan.spk (4.8.3.-0045) for a new installation.
      My “old” crashplan subscription is still valid until end of 2017 and I want to
      migrate from my old 1511+ to the new 418+ before I migrate to CPSB…

      Thank You!

  2. craig1001

    I got it running again by reading my own post on here! craig1001 July 4, 2017 at 23:49. Basically changing the reported version thus forcing an upgrade. So it ran, I stopped and started it successfully, then it crapped out at the same point as before. Log saying ““synology extracting upgrade from /var/packages/CrashPlanPRO/target/upgrade/1436674888490_33.jar””. Once again, no file exists at that address. Much sadness :(

  3. craig1001

    I just had a chat session with them. They will not support NAS. They’re only interested in supporting final end points running Intel processors, which as far as I’m concerned is my Synology DS4.15+. But they don’t see it that way. I also sent them a couple of emails, as yet unanswered, pointing out that on my DS package centre, the iDrive app has 7,000 downloads but the CrashPlan Pro one has 9,000 downloads. So they’re pissing off that many paying accounts by not providing a Synology package. iDrive provide a package for each major type of NAS (as far as I can tell). CP could take a significant market share off them because they have better infrastructure, better pricing and better customer service. You’d think if CP were wanting to concentrate on small businesses and enterprise then NAS should be in their sights. Maybe they’re just too big to move quickly (like 3 years!!!!). Or maybe, it’s just a political boardroom game and the paying punters are just annoyances. Anyhow, I don’t see, given the number of accounts at risk, why they can’t repackage the client as a Synology package.

    1. patters Post author

      Oh it has a lot more than 9000 downloads :) I stopped counting a long time ago because my hosting space doesn’t have enough disk left for logging. That figure is from 2013 I think.

  4. @DatacenterDude

    Hey Patters….

    Was wondering if you had considering a Docker container since they now support running Docker native on the synology now. Perhaps instead of the java install, we could get away with a ‘docker run patters-cp’ app to download as opposed to the tgz and jre.

    If this is something you’d like to explore, I know some top container devs that could help if needed!


    1. patters Post author

      Hi, Synology don’t make docker available for my own NAS (DS214Play) so it’s not something I can develop I’m afraid. However I can confirm that I have the migration over to CrashPlan PRO working. New package later today hopefully.

    2. chris

      i switched from patters to docker a few months back and its running flawlessly, updates itself, didnt crash once

    1. chris

      Hmm, folowed the steps in your second link and its running without a hitch for months now. I have rebooted the NAs a couple of times, all good after.

  5. David

    Hi, I’ve upgraded from Home to Pro. But my new Windows client says “The information you entered is incorrect”, even though the user/pass are definitely correct. I’ve already confirmed ui_info is correct. Any ideas?

  6. patters Post author

    CrashPlan PRO Package updated to 4.9. Blog page amended please re-read. New section describing how to migrate from Home to Small Business.

    Please note that the CrashPlan PRO syno package does not automatically download the client software – you need to download it yourself now from the Admin Console and put it in the ‘public’ folder on your NAS, like with Java.


  7. Olivier

    BTW Synology is releasing it’s own Disaster Recovery C2 Service in september. Due to all the regular CrashPlan upgrade hassles, I applied for the C2 beta period but my 1517+ seemed not supported (yet?). Will keep an eye on it though.

    1. fatboyw

      I am looking into Synology’s C2 service. I cannot ask for Beta as I am not in Europe. Hopefully, it will be rolled out globally soon and I can compare with CrashPlan Pro during the first year of CPP service and then decide which way to go. As per my other post, I tried iDrive but it wasn’t satisfactory for me.

  8. Dave

    @patters I upgraded to CP Pro *before* reading your blog. e.g. uninstalled my home package and installed your previous 4.8 pro package. Have since reinstalled home, updated to latest v4.9 and followed all your instructions – but Windows client no longer recognises my password.
    Any tips/tricks to get this working?

    Many Thanks

    1. patters Post author

      Not sure. One reply on here said they had the same issue but it went away after a few hours. If you still had problems you could perhaps uninstall the whole thing, backup then destroy the /var/lib/crashplan folder then do a fresh install of PRO 4.9 and adopt your existing device backup.

      1. David

        All good .. same as Andrew, removed all, reinstalled, and was able to log in and adopt my old Back up. Cheers!

    2. Andrew Warren

      Im having the same problem. Hopefully it goes away after a few hours like someone else said. I tried deleting everything but it didnt work.

      1. Andrew Warren

        Deleting everything and re-installing seemed to do the trick. Or it was just waiting 24 hours. But its working now

  9. Yoz

    I have migrated my account to CP Business.
    How to install Crashplan 4.9 package on my Synology DS216play ?

    Thanks in advance for answer. Regards !


  10. Brian Fox

    My subscription is good through Oct/2019. The official sunset date seems to be 10/18, a little over a year from now. The email seems to indicate that I don’t have to do anything until 2018 and then I’d be moved to the Business for the remaining year. I assume others are in the same boat, so why the rush to move to business? If I upgrade the package to 4.9 is that going to force me over to the business stuff? Am I going to be on my own if I don’t move now?

    1. patters Post author

      If you switch to Small Business you pay only 25% of the normal cost for a year, which is considerably cheaper than letting your existing sub run out.

      1. Brian Fox

        Right, but my interpretation of the mail is that I don’t have to pay anything until after Oct/2019. They’ll move me by 10/18 since that’s when they shut down Home officially. Im trying to figure out what I’m missing and why everyone is moving so fast.

      2. patters Post author

        True. My subscription was monthly billing rather than paid upfront so for me there was no financial incentive to wait.

      3. Brian Fox

        So that takes me to my second set of questions, am I essentially on my own package wise at this point? In other words, is the 2.9 package going to force me over to SB or will it still work as home if I don’t migrate? (Will I lose the peer to peer replication?)

  11. Brian Fox

    Here’s what I received:
    Your current subscription, which expires on 05/05/2019, extends past the CrashPlan for Home sunset date of October 22, 2018. However, please know that we will continue to protect your data through the entire life of your subscription.

    What this means
    We will honor all CrashPlan for Home subscriptions, including yours, which extend beyond the sunset date of October 22, 2018.
    We will automatically upgrade your account to CrashPlan for Small Business after that date at no additional cost to you.
    Your devices and your backup will be automatically migrated over to the CrashPlan for Small Business product for the remainder of your subscription, and this requires no action on your part. We will email more specific details to you before this upgrade occurs.
    After the free upgrade and when your prepaid subscription term eventually expires, you may choose to renew on the CrashPlan for Small Business product. If you do, you will then be eligible for a 75% discount off the regular price, for the next 12 consecutive months.

    1. ilkevinli

      Yes, in your case, I wouldn’t do anything. Most people posting here have a subscription that expires BEFORE the sunset date.

  12. tomwhelan

    I upgraded to the CrashPlan for Small Business (CP Pro), as documented, with one small issue:
    After (1) installing the Linux CP Pro package (started automatically), (2) installing Windows CP Pro from the .msi file and stopping the service, and (3) editing the .ui_info file on Windows, the CP Pro Windows client would not start. No visible user interface. I restarted Windows, and successfully started the CP Pro Windows client manually. Synology backup folders were visible – and the usual endless block synchronization operation began.

  13. ge0kas

    all good here, after several uninstalls I noticed the file had some irrelevant numbers inside.
    I changed it to look like this:

    #Mon Jul 06 19:52:17 BST 2015

    Then, everything worked (including accepting my username/password this time)

  14. Excalibr79

    Great work Patters! Followed your instructions to migrate over without a hitch. I now have CrashPlan Pro 4.9 working on the Synology and the 4.9 Windows Client connects (I did have to restart my windows machine after installing to get the client UI to display). It’s currently at the ‘Synchronizing block information’ but so far looks like everything is working as it should.

  15. Slartybart

    Much appreciated, my migration and update went very smoothly thanks to your kind help Patters. Has anyone found they need to alter the Java heap in the Pro version? I don’t seem to be able to.

  16. Tris179

    Hi Patters

    Appreciate the efforts with this…

    Seems to have a slight issue with my migration from home to pro, after following the guide above, the service will not start. Any ideas on where to start troubleshooting this one?


  17. Jamie W.

    For anyone scratching their heads over how to increase the memory after the migration to PRO, the files you need to edit have moved into new folders because of course we now have CrashplanPRO installed:

    1. tomwhelan

      I edited the Java heap settings in:
      I have the @appstore location as well, don’t know if there is a preferred place to make this change. Until I upped the Java heap, the CrashPlanPRO process repeatedly started and stopped for my 1.3 TB backup set.
      You can configure deduplication settings in the CrashPlanPRO client UI, in the Settings>Backup>Advanced dialog – I’m trying “minimal” to improve upload speed. I used a similar setting in CP Home.

      1. georgekalogeris

        thanks a lot for your input.
        please share more advanced settings in client UI, so I can see less scanning and more backing up…
        (I have 7TB sending, it needs 3 years…)

      2. patters Post author

        The @appstore locations link back to /var/packages/pkgname/target so they are one and the same. However, my NAS no longer has /volume1/@appstore so i think it may be something Synology has retired. Use /var/packages/CrashPlanPRO/target/

  18. Sam

    Curious – in what way was iDrive not satisfactory. Been left in limbo my CP so looking at alternatives. Also not in Europe so can’t check out C2 just yet.

  19. Thor Egil Leirtrø

    After having reduced my backup footprint below 5TB, to avoid having to start from scratch, I have upgraded to the PRO version. No hickups so far, and I have added back the directories I removed from the backup.

    To make life a bit easier for my self I (a long time ago) installed the Config File Editor utility, and added a few files to its configuration. Very easy access to and editing of the Crashplan config files.
    /var/packages/CrashPlanPRO/target/install.vars, CPPRO-syno_install.vars

      1. Jamie W

        Funnily enough I had to reduce my backup size too. I unchecked one of the drives to reduce the size, updated and then re-added it. The strange thing was it didn’t need to upload it all again.

  20. Hal Sandick


    Wow! that migration was super easy. Thanks for the continued support. time for another donation.


  21. georgekalogeris

    I have a serious problem.
    Everytime I restart the package (or diskstation)
    it changes port to 4259 and token to something else, then, I can’t connect and I have to clean everything and install from scratch.
    Any thoughts ?

  22. Olivier

    I succesfully migrated, but my CrashPlan Pro 4.9.0 app on OSX always crashes after a couple of seconds or a minute when having contact with NAS. I also get critical notifications from CrashPlan that my NAS has not been backup since a couple of days. During the short time that the Pro app works I see “back-up is running” and also progressing (currently 57GB to do and 1,4TB finished in the past, analyzing).
    Due to headless configuration I always first initiate a ssh session from OSX to NAS with command “ssh -L 4200:localhost:4243 -p 2022 admin@″ before starting CrashPlan Pro app. It works a short time, crashes and when restarting gives most of the time messages on NAS “channel 3: open failed: connect failed: Connection refused”. Reinitiating ssh and/or reinitiating app solves it without having touched /var/lib/crashplan/.ui_info on NAS or /Library/Application Support/CrashPlan/.ui_info on OSX to check or change the tokens. Any clue what is causing these problems?

  23. LVP78

    Patters, thank you, thank you, thank you! Following your instructions worked perfectly! FYI just to add a couple details.
    1. I have .ui_info in 2 different locations on my windows machine. The first in (User)\AppData\Local\Crashplan, and the second in \ProgramData\CrashPlan\. I just make it a habit to always update both.
    2. You need to restart Crashplan Pro on your Syno before your token value is updated for #1.
    3. For Java runtime, I’ve selected the system option (forget what it’s called) over dedicated, which seems to work fine.

    1. LVP78

      So I’ve run into a problem. Even after increasing the heapsize in syno_package.vars & run.conf, CrashPlanPRO is disconnecting every 5 minutes like clockwork. I can confirm my changes in both putty and the CrashPlan UI (double clicking top right corner, then ‘java mx’ command). Any thoughts?

      1. LVP78

        Thanks, I probably should’ve clarified that first.
        1.7TB Total
        0.5TB Remaining
        1.2TB Completed

        My Syno DS1515+ is upgraded to 6GB
        syno_package.vars is set to 2560M.
        run.conf is set to -Xms20m -Xmx2560m in both lines. I’m honestly not sure about this one. I just saw that it was either -Xms20m -Xmx1048m, or -Xms20m -Xmx512m

      2. LVP78

        So I removed the old CrashPlan home and rebooted my Syno, and have been connected for an hour now. I’m not sure which did the trick, or both maybe, but all is well.

      3. reggierutley

        LVP78 I am running into the same exact problem that you were experincing with the constant restarts. I have reinstalled several times to no avail. Could you please provide details of what you did to remedy the problem.

      4. LVP78

        reggierutley: I think it was a combination of 3 things:
        1. I removed the old CrashPlan Home
        2. I updated the heapsize parameters in syno_package.vars and run.conf. I did have to log in through Putty and use the “sudo” command to edit these.
        3. #2 didn’t take effect until I actually rebooted my Synology.

        Hope this helps..

  24. Thibault

    I’m a Crashplan PRO user and I recently purchases a DS918+. However, I’m not seeing the package in the list (or for that matter most of the packages from PC Load Letter). Is this because my NAS is too recent ? Any fix for this ?

  25. Sam

    I’ve thrown in the towel. I appreciate everything patters has done – I really do! – but I’m done with Crashplan. They’ve just made it too darn difficult and basically told me they don’t support NAS drives. They don’t want my business so I’ve quit – after using them for ~5 years. I’m now using Hyperbackup to S3 and it’s working just great. Plus it’s about half the price of CrashplanPro.

      1. Sam Kenny

        re: bagupremier’s reply. You are right. In fact on S3, it’s actually at ~500GB that it will cost more than Crashplanpro. But, I get ~50% compression and so am currently spending ~$3 a month. As my data starts to grow further I have the option of migrating old data, automatically, to cheaper storage on AWS (e.g. S3 redundant storage or Glacier). Glacier is a pain though. I’m hoping Hyperbackup will support Google Cloud Platform in the future. I use GCP at work ( and really enjoy it. On GCP cloud storage is instantly retrievable (unlike Glacier where, through the API, you make a request and then download your data. A process that can take hours). Everyone’s use case is different though. For me, I’m happy with the flexibility of Hyperbackup (I can use AWS, Azure, Dropbox, etc.. or even a combination) and I trust the end providers. I don’t trust Crashplan any more.

    1. Brandon

      +1. I’ve benefited tremendously over the past few years from patters work, but I’ll be ditching Crashplan when my 4-year subscription is up, in favor of Backblaze or Amazon Glacier.

  26. Pingback: Synology DS1511+ and CrashPlan -

  27. troy

    I was able to migrate to CrashPlan for Small Business. So it looks like I’ll go from $54.95 for a year from the previous CrashPlan subscription to come July 2018 I go to $12.50 per month ($150 per year) to in July 2019 it goes to $50.00 per month ($600 per year) which will be just about 10x more than what we were paying. I know there’s been a lot of discussions about the costs for other services, but it feels like there has to be a better solution than $600 per year.

  28. Åge Hellem

    Hi, I have been using CrashPlan for many years, and my subscription doesn’t expire until August 2019. So far I have only been using CrashPlan on PCs and Macs though. However now I have installed a Synology DS416Play, and I would like to use CrashPlan for this as well. As my subscription still is valid for another 2 years, I will still be on the “Home” version of CrashPlan until October 2018, when I will be automatically migrated to CrashPlan Pro. Do you have a how-to on installing CrashPlan Home? (the one in this article seems to be specific to the Pro-version)

      1. Åge Hellem

        Yes I am aware of that. However, running subscriptions (that are already paid for) will continue to run until their expiry date or until August 2018 (whichever occurs first). As I have a running 5 year subscription that is paid for until October 2019, that means I will still be on the Home plan until August 2018, when I will be migrated to the Business plan.

        However, I figured this out myself, so I have now the CrashPlan Home running smoothly on my Synology NAS :)

  29. Gaskit

    In case others like me get stressed when the upgrade from CP Home to CP Pro doesn’t go smoothly, just completely delete CP on NAS and local client and start again. Initially, I tried the described upgrade route but couldn’t get the local PC to connect to NAS. When I did and tried to login to CP it said my password was incorrect. But I could login at the CP web interface so knew password was right and my old backup was still available. I think my problems stemmed from an old all-user install of CP on my Windows PC which held some conflicting security details. Once I’d deleted all I did was this (much as for new install except for adoption):
    1. Install CP Pro on NAS as described above (Install, start, stop, start)
    2. Install CP client on PC. (don’t run it yet!)
    3. Update on PC (Copy ui token from NAS to PC and update IP so that it points to NAS)
    4. Start CP on PC, login and adopt your old backup.
    Until I did this, I couldn’t get the CP PC client to both connect to NAS AND login to CP. It was one or the other.

    Patters – thanks for being there and making this possible.

  30. Pingback: RAM bővítés – NASológia Blog

  31. thezfunk

    I just converted from Home to Pro and it is up and running. However, it appears to be reuploading everything as if my backup didn’t migrate over. Pro does seem to upload faster than Home ever did. Pro is actually getting close to my max upload.

  32. Francesco

    Migration done, why the win client doesn’t accept username and password? I have an error message like user or password wrong..

  33. Jim Harle

    Thank you for your work on this package. I was previously backing up our Synology NAS to CrashPlan from a Windows machine using network drives, which is no longer supported in the PRO (Small Business) version. Your package allowed me to adopt the PC backup and commence with the backups of meaningful data.

  34. Harley

    Recently converted from CrashPlan Home to Pro using Patters great package support. I’ve been up and running for at least 3 weeks and seemed to be going well.

    Got a message that Backup was not occurring. History Logs show service is starting and then stopping a little while later. CrashPlan Admin Console says Last Backup 3.7 hrs ago.

    When I drill down a level the status says
    CrashPlan Central Selected 7.4TB Backup Status 61.5% Last Activity 3.7 hrs ago Completed 6 days

    When I connected the CrashPlan client on my PC. The app opens up for about 2 mins then closes.While it opens it begins Scanning/Analyzing but never begins backing up anything.

    When looking at the Synology logs – don’t see anything particularly glaring as an error.
    App.log says I’ve got 4.9.0 Version 33
    Java SE runtime environment 1.8.0_151-b12

    history.log.0 shows starting and stopping every 2 to 3 mins

    I changed the syno_package.vars java values to 4096. no behavior changes.

    I do show in the folder\bin that i have many restart logs again every 1-3 mins. Each log says
    Tue Nov 21 22:46:44 EST 2017 : /volume1/@appstore/CrashPlanPRO/bin/
    Tue Nov 21 22:46:44 EST 2017 : APP_BASENAME=CrashPlan
    Tue Nov 21 22:46:44 EST 2017 : DIR_BASENAME=crashplan
    Tue Nov 21 22:46:44 EST 2017 : Stopping using /var/packages/CrashPlanPRO/scripts/start-stop-status…
    Stopping CrashPlanPRO …
    Tue Nov 21 22:46:54 EST 2017 : Sleeping 10 seconds…
    Tue Nov 21 22:47:04 EST 2017 : Starting using /var/packages/CrashPlanPRO/scripts/start-stop-status…
    Starting CrashPlanPRO …
    Tue Nov 21 22:47:04 EST 2017 : New Service Process below:
    Tue Nov 21 22:47:04 EST 2017 : Exiting restart script

    Not sure where to go from here to stop this behavior on the app.
    Any help appreciated.

    1. Harley

      I guess one other piece of data from this log – engine_output.log there is the warning below:

      12.21.17 23:02:06.476 INFO main com.backup42.service.CPService] Locale set to English
      [11.21.17 23:02:06.478 INFO main com.backup42.service.CPService] *************************************************************
      [11.21.17 23:02:06.479 INFO main com.backup42.service.CPService] *************************************************************
      [11.21.17 23:02:06.479 INFO main com.backup42.service.CPService] STARTED CrashPlanService
      [11.21.17 23:02:06.481 INFO main com.backup42.service.CPService] CPVERSION = 4.9.0 – 1436674888490 (2015-07-12T04:21:28:490+0000) – Build: 33
      [11.21.17 23:02:06.482 INFO main com.backup42.service.CPService] LOCALE = English (United States)
      [11.21.17 23:02:06.483 INFO main com.backup42.service.CPService] ARGS = []
      [11.21.17 23:02:06.483 INFO main com.backup42.service.CPService] *************************************************************
      [11.21.17 23:02:07.097 INFO main com.backup42.service.CPService] Adding shutdown hook.
      [11.21.17 23:02:07.206 INFO main com.backup42.service.CPService] loadConfig, BEGIN Loading Configuration
      [11.21.17 23:02:07.281 INFO main com.backup42.service.CpsFolders] CpsFolders chmod successful. confPath=conf/
      [11.21.17 23:02:07.282 INFO main com.backup42.service.CPService] BEGIN Copy Custom
      [11.21.17 23:02:07.282 INFO main com.backup42.service.CPService] Directories: [.Custom, custom, /repository/.Custom, /repository/custom]
      [11.21.17 23:02:07.282 INFO main com.backup42.service.CPService] NOT waiting for custom skin to appear
      [11.21.17 23:02:07.282 INFO main com.backup42.service.CPService] NO customizations found.
      [11.21.17 23:02:07.287 INFO main com.backup42.service.CPService] END Copy Custom
      [11.21.17 23:02:07.292 INFO main backup42.common.config.AppConfig] Loading from default: , /volume1/@appstore/CrashPlanPRO/conf/default.service.xml
      [11.21.17 23:02:07.664 INFO main backup42.common.config.AppConfig] Loading from my xml file:, conf/my.service.xml
      [11.21.17 23:02:07.792 WARN main up42.common.config.ServiceConfig] ServiceConfig:: ServiceConfig version higher than it should be. uniqueId=823049493755805353
      [11.21.17 23:02:07.833 INFO main up42.common.config.ServiceConfig] ServiceConfig:: Loading ServiceConfig, newInstall=false, configVersion=10, configDateMs=1511317847833, installVersion=1435813200480, currentVersion=1436674888490
      [11.21.17 23:02:07.834 INFO main up42.common.config.ServiceConfig] ServiceConfig:: OS = Linux
      [11.21.17 23:02:07.983 INFO main com.backup42.service.CPService] AuthorityLocation@-1379701855[, hideAddress=false, isLocked=false ]
      [11.21.17 23:02:07.986 INFO main com.backup42.service.CPService] Checking Java memory heap max.
      [11.21.17 23:02:07.989 INFO main com.backup42.service.CPService] Previous Java memory max heap size was 1024
      [11.21.17 23:02:07.995 INFO main com.backup42.service.CPService] END Loading Configuration

      1. Harley

        Ok – figured it out at least got it running again.

        I noticed in the engine_output.log that my heap size wasn’t actually changing. When I looked at the engine_error.log I had an error on the 4096 value I used in syno_package.vars and it said Java engine was being shutdown.

        I set this lower to 2048 and now the backup has resumed and the console is no longer closing.

        I have 6GB on my 1515+ but the 4096 must be too large for other things running on DSM. Maybe I’ll try 3072 after the backup is complete.

        Still not sure why the warning exists above about the ServiceConfig being too high, though.

        Anyone know why this would be the case and is it a problem longer term?

  35. Oliver

    As much as I appreciate the work that patters has put into this, luckily for me, iDrive, with their $6.50 for the first year, and $50 for each year after, for 2TB is more then enough for my storage (generally I bounce around 1.1-1.3TB on avg). Plus it has a native Synology app, so no more jumping through hoops to make it work.

    1. B. Good

      Who controls the encryption keys? I paid for idrive about 3-5 years back but found they stored my password in a plain text file. Sure, they obfuscated the password by 2 characters (A=C), but it was poor. They also installed a vulnerable DLL from 1997. So I ditched them.

      1. spyrule

        When I signed up a few days ago, I was given the choice to use my own password file, or use theirs. I generated my own at 100 characters long. As for the vulnerable DLL, well in the past 2-3 years, a VAST majority of security DLL’s have been revamped and updated. Besides, for me, I literally only installed the plugin for Synology NAS (I have other software that backs up to my NAS automatically). So, I’m immune from bad windows DLLs for my iDrive backup.

    2. Jim Harle

      I’ve used IDrive a lot over the years, for extended family members and business clients, and have had occasional problems with them. The last straw was back in March, when one of the business accounts became “corrupted” in that backups were no longer functioning, and files couldn’t be restored from their web site, because the backup set was “empty.” They corrected the problem, but it took three days. I can live with a temporary condition of backups failing, but not losing the ability to restore.

      1. spyrule

        Thats interesting to know, and I’ll keep an eye out for this scenario. Luckily for me, its only my wedding photo’s and whatnot that I’m backing up, so nothing mission critical (albeit, some things are backed up via other means as well).

  36. ilkevinli

    Looks like Crashplan is no longer supporting Headless installations moving forward. Here is part of the release notes for the new version 6:

    Although using CrashPlan for Small Business on a headless computer and installing CrashPlan for Small Business on a NAS device are unsupported, previous versions of the CrashPlan for Small Business app would still function in these configurations. However, beginning with version 6.6.0, the CrashPlan for Small Business app does not function in either of these configurations.

      1. LVP78

        Please keep us updated. I received the email as well and the way I understood it was that they would finally have a direct app to use on the Linux NAS, such that a headless setup would no longer be necessary. *sigh*

      2. LVP78

        @ runt: thanks for the update, so I’m guessing that was the product of your earlier chat. That’s seriously starting to delve into the realm of not-worth-the-trouble; as if what we’ve been doing all along hasn’t been difficult. Has anyone else has success with using BackBlaze?

    1. Slidermike

      of course this latest twist is after they said there would be no more refunds and getting pushed to the pro plan at a higher cost.

      1. runt

        Since I can’t comment on LVP78’s comment, officially best case is using iSCSI shares to another box. Other options include NFS & CIFS mounts on a Linux box for the backup although they don’t get real time scanning of files ;(

      2. Vinnie Ingalls

        I think at this point, the best case it to dup to another synology and cut out the damn cloud clowns. Maybe off site or maybe local. Tired of being jerked around.

      3. Monte Moore

        That made me laugh. Cloud clowns. I feel the same. I want to keep using crashplan because of the cost. I tried using the install instructions from Mike Tabor. Everything was followed to a T and when it came time to connect it wouldn’t. I run an iMac with everything updated. DSM updated, docker updated. Typed in all the sudo this and sudo that and no errors popped anywhere. Copied and checked theUi info thinking I’d messed something up. Waste of two hours for nothing. So frustrating. If anyone has any suggestions I’d definitely be open to it. So time consuming. I have three kids and simply don’t have time to jack with this thing for two hours trying to be a computer programmer which I’m not.
        I think B2 with Backblaze is the best option for me or another Synology to back up the current one.
        Anyway, cloud clowns are pretty funny even though they have saved a couple computer meltdowns for me.
        So to close, does anyone have any other methods or suggestions for me to try other than Mike Tabors suggestions on how to download and run the Docker?
        Seems like it should be easier than this. Wouldn’t it be cool if crashplan and Synology would actually fill a need and just make a program to make it so effortless compared to this? Guess that is fantasy.
        Thanks to all.

      4. Slidermike

        Monte, lets be fair.
        This is not a Syno issue.
        CP is the company who doesn’t want a NAS backup solution.
        Syno does work with many backup solutions quite well.
        That said, they are even rolling out their own (low cost) solution. Its only starting in Europe and Africa at the start. At some point it should come to North America too.

        It should & would be simpler IF CP wanted you to do it this way.
        The problem is we are trying to shoehorn a backup solution onto a device they don’t want it on.

      5. Monte Moore

        Fair enough. Just my two cents. I don’t know enough about it to get into specifics that I don’t understand. Just saying it’s frustrating.
        Appreciate everyone’s comments. Many times very very helpful.

      6. Monte

        Thanks for the site to help with installation. I tried and then switched to crashplan pro. After struggling to set it up. I just gave up but then logged into my crashplan pro account and all my files were there. However, now I can only choose my iMac and not my NAS to back up. I’ve checked my GUI and changed everything like I think it should be. Not being a programmer brain like you guys are I’m going to lick my wounds and pay backblaze. It’s simple and straight forward. There’s still a part of my that doesn’t want to be defeated, but with three kids and a full time job…well I can’t sit at the computer for 2 hours a night trying to get this to work. It’s to stressful.
        Thank you for everyone that has sent me emails or links to help me understand. It’s been a good experience from the learning about computers perspective. Not so much on the stress worrying about whether or not my files are being backed up etc.
        I’m out……God speed to you all.

    2. Chaoskcw

      Yes please let me know if there is any progress on this. I noticed as of today its trying to update and failing, so after pushing everyone onto Small Business, they then axe the headless configuration. FFS slimy so and so’s. Notice how they waited to force all migrations, get the subscriptions, and only then axed functionality ….

  37. Cecil67

    Not the best news out of CrashPlan but at least it seems on the surface they won’t force an upgrade (yet), so our current setups will continue to work.

    For those with access to Docker, using Docker going forward might be the only option.

  38. BD6675

    When I migrated my data (13 TB) to CrashPlan for Small Business (from CrashPlan Home) at the end of October, I was told support for NAS devices would continue to work. I have the chat session log confirming that fact….that being said, who knows what the CrashPlan engineer I chatted with knew about the coming changes…

  39. jimharle

    I think they’ve long planned to kill off the ability to backup NAS devices, to stop exactly what we’ve been doing – backing up multiple devices to a single point (the NAS) and then paying for only a single CrashPlanPRO device. Their business model is to get you to pay a fee for each computer you have, and killing off network drives and headless devices is a path to that.

  40. Technut

    This is very upsetting!!!
    I finally had everything running without needing any tweaks to my setup for close to a year.
    I don’t understand why Code42 would not offer an official service plan to support NAS product(s). I would gladly pay more to have the option of continuing on their very good backup service.
    Now I am forced to find an alternative…..
    So far I have heard mentino of:
    iDrive, Backblaze, Glacier BUT none of these offer the same comparable combination of security, ease of use and price as Code42’s Crashplan does … I mean did … R.I.P.

    Any other solutions for our Synology product that anyone can suggest?

    1. jimharle

      I’ve been mulling over runt’s comment, “…officially best case is using iSCSI shares to another box. Other options include NFS & CIFS mounts on a Linux box for the backup although they don’t get real time scanning of files ;(”

      As I understand, switching to iSCSI shares would mean the existing data on the NAS would need to be migrated to the computer with the iSCSI mounts, and then that computer would be the “owner” of the data. Please correct me if I am misunderstanding this.

      The other idea (specifically using NFS/CIFS to mount the NAS from a Linux box, and then running the backup client on that) sounds plausible. You’d have to decide “where” to run that Linux box – in a container on the NAS, or somewhere else on the LAN.

    2. Patrick Roehl

      I’ve heard good things about running CrashPlan on Synology in a Docker container, specifically the container configured by jlesage:

      With running in a Docker container it’s not running headless – it’s a native Linux installation and it uses VNC to present the GU, so it should work with the next release. Fingers crossed…

    3. Andrew

      Ive been looking at Backblaze B2 with synology cloud sync. Cost is not too bad if you only have a few TB to backup. It can be encrypted. But not the filename.
      Anyone else looked at this option?

    4. Jim Harle

      I’ve been mulling over runt’s comment, “…officially best case is using iSCSI shares to another box. Other options include NFS & CIFS mounts on a Linux box for the backup although they don’t get real time scanning of files ;(”

      As I understand, switching to iSCSI shares would mean the existing data on the NAS would need to be migrated to the computer with the iSCSI mounts, and then that computer would be the “owner” of the data. Please correct me if I am misunderstanding this.

      The other idea (specifically using NFS/CIFS to mount the NAS from a Linux box, and then running the backup client on that) sounds plausible. You’d have to decide “where” to run that Linux box – in a container on the NAS, or somewhere else on the LAN

  41. David

    Same deal here, Crashplan has been stable, new broadband upgrade gives me 40Mbps upload and I’m cooking .. then this! I’ve just signed up to iDrive as they have a crazy intro deal of $6.95 for their 2TB annual plan. For this it’s worth me trying their dedicated Synology App. If it works our, even their normal pricing is quite reasonable.

    1. Jon Etkins

      I’m trialing iDrive right now, too, but it’s sloooow – I’m only getting about 6mbps from my DS1815+, while the iDrive client on my PC is able to saturate my 20mbps uplink. I’m also able to hit my uplink cap when using Hyper Backup to S3, or Cloud Sync to Backblaze B2, so I know the Syno is capable of those speeds with the right tool – it just seems that the iDrive Syno client sucks. And it’s not like it’s CPU or memory bound, either – I’m seeing less than 50% utilization of both while it’s plodding along at that crappy speed. I thought I’d be able to seed my backup with their Express Drive service, but the iDrive Syno client doesn’t provide an option to back up to a local device, so that’s a non-starter, too.

      I’ll give it another few days, but at this point I suspect I’ll be cancelling for a refund while I still can. The price may be good, but if it’s going to take me a year to populate my initial backup, and then not be able to keep up with the rate of change of the files I want backed up, then it’s useless to me. Or I may keep it as a CrashPlan replacement for our household computers, but not for the NAS.

      (FWIW, Hyper Backup to hubiC was even worse – it couldn’t even break 1mbps!)

    2. fatboyw

      I tried iDrive when CrashPlan announced the Home product was axed. At the time, I migrated to the CrahsPlan Pro product as well as I had around 2 months free and will get 1 year of cheap pricing.

      iDrive didn’t live up to my expectation. I was getting 2-3MBit/s with CrashPlan but with iDrive, I got less than 1MBit/s. I ditched it then and stayed with CrashPlan Pro as I am on the low rate for a year.

      Now with the recent announcement, I am moving to Amazon Cloud Drive using Synology CloudSync. I opted for CloudSync to make it easier to manage than standard backup. I also use the encryption option so that files on Amazon are encrypted.

      I just sync’ed 700GB of data over 3 days and it worked quite ok. With Cloudsync, I can tune how many concurrent sessions and how much bandwidth each file upload/download should use. I can pretty much saturate the 40Mbit/s upload bandwidth that I have (better than CrashPlan in this regards). I am pretty happy with this set up.

      In my case, I am paying for the 1TB option for Amazon which is about US$60 a year. This is cheaper than CrashPlan Pro US$10/month per computer. Going to 2TB with Amazon will be about US$120. So, for me, it is more cost effective to go with Amazon at the moment. This will remain true for me for probably a good 2-3 years at least.

      I looked at other alternatives like Google Drive, Dropbox, OneDrive and they are all more expensive. I looked at Glacier but the pricing structure is too complex. I also looked at Backblaze S2 and according to their cost calculator, it is more expensive than Amazon for me.

      Anyway, big thanks to patters for all the good work. It had been quite a few years that I had to rely on patters to make cloud backup work for me. Thank you!

      1. David

        Good info, thanks ..and I second your feedback to patters. A huge thankyou for all these years of dev work and community support.

  42. Thor Egil Leirtrø

    I still have about a year of free service from Crashplan, so while investigating other options for backup I thought I in the meantime might try running Crashplan on my Windows PC. But to avoid starting completely from scratch again I would need access to the /volume1 directory from my PC.
    Is there any easy way to share the /volume1 directory from my NAS?

  43. bgmess

    I am having an issue connecting the crashpro 4.9 client to the Synology NAS. Everything seems fine on the NAS, but when I make the changes to the client on my PC (C:\ProgramData\CrashPlan\.ui_info (Windows) ). When I try to start the client crashplan pro, it asks me to sign in…when I type my email and password, it says the information is incorrect. I know I have the right email/password because I can log into the console. What could I have done wrong?

    1. Gaskit

      Have a look at my previous post on this problem – I had the same issue. In summary, Just delete the apps from Synology and your PC, reinstall both then adopt your old backup. Note you have to manually delete configuration folders to get a fresh install. This worked for me.

  44. Philip

    Does the CrashPlan Pro package not work for DS216j? I guess not since it doesn’t show up in the community packages after adding the package source. Are there any alternative ways to get CrashPlan running on this NAS?

  45. jamestx10

    So far this seems to be working for me and should be supported long term.

    I installed the Virtual manager (from Synology) on my NAS and have created an Ubuntu desktop VM on the NAS. Connected my Shares that I backup, using NFS and have installed Crashplan on the VM. Used the “replace device” function in CP and it is backing up fine using the new version.

  46. DirkM

    I wonder if I’ll be able to keep using 4.9 until my subscription runs out in Sept. 2018 since 6.6 isn’t going to work in the current configuration I have with Synology. I too am not happy with Crash Plan for this, but if it forces me to use another (better) way to back up off-site, then maybe it’s a good thing.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s