GithubHelp home page GithubHelp logo

czuz / mysync-for-mycloud-os5 Goto Github PK

View Code? Open in Web Editor NEW
12.0 2.0 4.0 79 KB

WD myCloud backup and synchronization utility - a free GoodSync alternative

License: GNU General Public License v3.0

Shell 20.55% PHP 35.96% HTML 16.25% CSS 2.30% JavaScript 24.94%
mycloud western-digital

mysync-for-mycloud-os5's Introduction

mySync for myCloud OS5

Purpose

This is an addon for WD MyCloud NAS systems running under OS5. Addon utilizes rclone which is "a command line program to sync files and directories to and from different cloud storage providers."

You might use mySync to periodically sync selected directories or backup whole NAS to other cloud storage of your choice.

Disclaimers

  1. Use your own judgement to decide whether rclone is secure enough for your needs. You will have to authorize this tool for access to your other cloud account.
  2. Get familiar with rclone documentation and make sure to test your rclone configuration in controled environment before deploying to NAS. Wrong configuration might send data to unintended location, overwrite or delete data.
  3. mySync has been created for my personal needs. As long as it fulfills my expectations I don't plan heavy involvement in further development.

How to build package from sources

Prerequisits

  1. WD MyCloud OS5 SDK - you will need mksapkg tool to build a package. You can:
    • Check if the official site has been updated to include mksapkg for OS5.
    • Check on the official WD community site.
    • Download from some unofficial source at your own risk (expect md5sum: 15ec19d9bf8c7c46f52e9017fd426c3e)
  2. rclone - download or compile binary for your NAS and place it under mySync/bin/ directory.

How to build

Before building make sure rclone is under mySync/bin/.

In the mySync directory execute:

mksapkg -E -s -m <module_name>

where module_name is one of:

  • WDMyCloud
  • WDMyCloudEx4100
  • WDMyCloudMirror
  • MyCloudEX2Ultra
  • MyCloudPR4100
  • MyCloudPR2100
  • WDCloud

How to install

In the MyCloud Administration Console select Apps menu and use "Install an app manually". Select the package you have built by yourself or downloaded from this site.

How to configure

There are two configurations you will have to privide:

Remote Connections

Configure your connection using rclone locally on your desktop:

rclone config

Locate generated rclone.conf configuration file:

rclone config file

In the MyCloud Administration Console select Apps menu -> mySync -> Configure -> Remote Connections.

Select rclone.conf from your drive and Save it.

Backup Flows

In the MyCloud Administration Console select Apps menu -> mySync -> Configure -> Backup Flows.

Define one synchronization operation per line by providing following information

source_path|remote:target_path|options

where:

  • source_path is a path on your WD device, e.g. /mnt/HD/HD_a2/Public
  • remote is a name of your rclone defined remote site
  • target_path is a path on the remote site
  • options are optional rclone options you might want to define, e.g. --max-duration duration

Remember to escape spaces and special characters in paths with "", e.g.: /mnt/HD/HD_a2/Public/Tim\ O\'Raily

By default following options are used:

--create-empty-src-dirs
--log-level INFO
--delete-after
--copy-links
--retries 10
--retries-sleep 60s
--stats 0
--stats-one-line
--log-file

Save the configuration and restart the service.

How to setup notifications

In the MyCloud Administration Console select Settings -> Notifications.

Configure according to your preferences. mySync failures will be reported as a following Warning:

Remote Backup Error

An error occurred for the remote backup job named mySync. Please check the backup job detail.

Code: 1400

Troubleshooting

In the MyCloud Administration Console select Apps menu -> mySync -> Configure -> Logs.

By default logs are kept here: /mnt/HD/HD_a2/.systemfile/mySync/log

Changes

[2022-11-20] - v1.1.0

  • Integration with notification services of MyCloud

[2021-11-01] - v1.0.0

  • mySync job to perform regular backups
  • Web GUI for mySync administration:
    • Upload rclone.conf
    • Define folders for backup
    • Browse and search log files

[2021-10-22] - v0.9.2

  • First version of Online log browsing in MyCloud Administration Console
  • Several fixes to file permissions and apkg.rc

Appendix: Functions

  • Remote backup with plenty of connectivity options
  • Multiple sync jobs
  • Automatically restarts after NAS restart
  • Online log browsing in MyCloud Administration Console
  • Online configuration in MyCloud Administration Console
  • Integration with notification services of MyCloud
  • Log retention

mysync-for-mycloud-os5's People

Contributors

czuz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

mysync-for-mycloud-os5's Issues

Install failed on MyCloudEX2Ultra

I downloaded the most recent MyCloudEX2Ultra_mySync_1.1.5-rc1.bin file and attempted to install it manually. However, I received the following error message: "App Installation Failed. Unable to upload the app package for installation. Please verify your network connection and try the installation again."

Develop for EX2 ultra

Hello, I would like to develop apps for EX2 Ultra, but I don't know how, I have read a lot and I don't know how to develop any app. Could you guide me or teach me how to develop them correctly?

I'm sorry if I have disturbed you

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.