Go to file
Saksham Khanna 4d8ef7bca7
cmd/dedupe: make largest directory primary to minimize data moved (#3648)
This change makes dedupe recursively count elements in same-named directories
and make the largest one primary. This allows to minimize the amount of data
moved (or at least the amount of API calls) when dedupe merges them.
It also adds a new fs.Object interface `ParentIDer` with function `ParentID` and
implements it for the drive and opendrive backends. This function returns
parent directory ID for objects on filesystems that allow same-named dirs.
We use it to correctly count sizes of same-named directories.

Fixes #2568

Co-authored-by: Ivan Andreev <ivandeex@gmail.com>
2021-03-11 20:40:29 +03:00
.github build: replace go 1.16-rc1 by 1.16.x (#5036) 2021-02-17 03:37:30 +03:00
backend cmd/dedupe: make largest directory primary to minimize data moved (#3648) 2021-03-11 20:40:29 +03:00
bin test: add makefiles test command (converted from script) 2021-02-13 14:24:43 +00:00
cmd config: move account initialisation out into accounting 2021-03-11 17:29:26 +00:00
contrib/docker Contrib: Add sample WebDAV server Docker Compose manifest. 2019-09-15 16:06:54 +01:00
docs mount: docs: add note about volume path syntax on windows 2021-03-11 17:09:22 +00:00
fs cmd/dedupe: make largest directory primary to minimize data moved (#3648) 2021-03-11 20:40:29 +03:00
fstest config: move account initialisation out into accounting 2021-03-11 17:29:26 +00:00
graphics build: Add file properties and icon to Windows executable (fixes #4304) 2020-06-11 09:26:14 +01:00
lib dropbox: add scopes to oauth request and optionally "members.read" 2021-02-13 12:35:24 +00:00
vfs vfs: --vfs-used-is-size to report used space using recursive scan (#4043) 2021-02-17 23:36:13 +03:00
.gitattributes build: add azure pipelines build 2019-08-06 10:31:32 +01:00
.gitignore lib: Add file name compression 2020-08-13 16:14:11 +01:00
.golangci.yml build: move linter build tags into Makefile to fix golangci-lint 2019-04-12 15:48:36 +01:00
CONTRIBUTING.md CONTRIBUTING.md: recommend to push feature branch with -u + minor tuneups 2021-02-24 20:24:59 +00:00
COPYING Initial commit - some small parts working 2012-11-18 17:32:31 +00:00
Dockerfile build: add an rclone user to the Docker image but don't use it by default 2021-02-11 17:45:44 +00:00
MAINTAINERS.md compress: finish docs 2020-12-02 16:30:02 +01:00
MANUAL.html docs: replace #file-caching with #vfs-file-caching 2021-02-13 12:56:25 +00:00
MANUAL.md docs: replace #file-caching with #vfs-file-caching 2021-02-13 12:56:25 +00:00
MANUAL.txt Version v1.54.0 2021-02-02 14:17:09 +00:00
Makefile build: fix dependencies for docs build 2021-03-11 17:29:26 +00:00
README.md HDFS (Hadoop Distributed File System) implementation - #42 2021-01-07 09:48:51 +00:00
RELEASE.md build: ensure go1.16 go gets the correct versions of tools 2021-02-04 17:34:30 +00:00
VERSION Start v1.55.0-DEV development 2021-02-02 16:30:58 +00:00
go.mod ftp: update dependency jlaffaye/ftp (#5097) 2021-03-05 15:58:04 +03:00
go.sum ftp: update dependency jlaffaye/ftp (#5097) 2021-03-05 15:58:04 +03:00
notes.txt docs: spelling: etc. 2020-10-28 18:16:23 +00:00
rclone.1 Version v1.54.0 2021-02-02 14:17:09 +00:00
rclone.go lib: add plugin support 2019-09-29 11:05:10 +01:00

README.md

rclone logo

Website | Documentation | Download | Contributing | Changelog | Installation | Forum

Build Status Go Report Card GoDoc Docker Pulls

Rclone

Rclone ("rsync for cloud storage") is a command line program to sync files and directories to and from different cloud storage providers.

Storage providers

Please see the full list of all storage providers and their features

Features

  • MD5/SHA-1 hashes checked at all times for file integrity
  • Timestamps preserved on files
  • Partial syncs supported on a whole file basis
  • Copy mode to just copy new/changed files
  • Sync (one way) mode to make a directory identical
  • Check mode to check for file hash equality
  • Can sync to and from network, e.g. two different cloud accounts
  • Optional large file chunking (Chunker)
  • Optional transparent compression (Compress)
  • Optional encryption (Crypt)
  • Optional cache (Cache)
  • Optional FUSE mount (rclone mount)
  • Multi-threaded downloads to local disk
  • Can serve local or remote files over HTTP/WebDav/FTP/SFTP/dlna

Installation & documentation

Please see the rclone website for:

Downloads

License

This is free software under the terms of MIT the license (check the COPYING file included in this package).