"rsync for cloud storage" - Google Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Wasabi, Google Cloud Storage, Azure Blob, Azure Files, Yandex Files
Go to file
albertony d2edf67b28 vfs: avoid duplicate encoding of cache paths
Minor refactoring to improve code, but no functional changes.

Could be improved further: Currently it always calls createDir on data path and meta path.
If input is a file name without path this will effectively call createDir on the cache roots.
Cache roots should always exist, because this is ensured in New function. The createDir
should then always end up just calling os.Stat on the cache roots and checking IsDir on result.
In addition to the unnecessary stat call, this will also perform unnecessary filepath
processing: Joining root with empty path still performs clean on root, but it has already
been cleaned.
One reason to keep calling createDir unconditionally could be that it gives an extra
failsafe, if cache root directories for some reason has been deleted they will be
recreated instead of cache operation failing.
2022-05-16 12:44:51 +02:00
.github build: support mount on windows/arm64 - all windows binaries now not cgo 2022-04-29 18:04:21 +01:00
backend about: improved error message 2022-05-13 12:08:10 +01:00
bin build: support mount on windows/arm64 - all windows binaries now not cgo 2022-04-29 18:04:21 +01:00
cmd about: improved error message 2022-05-13 12:08:10 +01:00
cmdtest test: use T.TempDir to create temporary test directory 2022-02-01 11:47:04 +00:00
contrib serve/docker: build docker plugin for multiple platforms #5668 2021-10-21 13:01:23 +03:00
docs docs: replaced extended ascii smart quotes (#6171) 2022-05-16 12:34:54 +02:00
fs chunksize: initial implementation of chunksize helper lib 2022-05-13 09:25:48 +01:00
fstest test_all: correct path for Internet Archive test 2022-05-12 20:38:05 +01:00
graphics build: Add file properties and icon to Windows executable (fixes #4304) 2020-06-11 09:26:14 +01:00
lib lib/readers: add FakeSeeker to adapt io.Reader to io.ReadSeeker #5422 2022-05-12 08:49:20 +01:00
librclone build: fix go mod tidy removing golang.org/x/mobile dependency 2022-05-01 13:28:20 +01:00
vfs vfs: avoid duplicate encoding of cache paths 2022-05-16 12:44:51 +02:00
.gitattributes build: add azure pipelines build 2019-08-06 10:31:32 +01:00
.gitignore chunker: fix md5all test for no-meta test remotes 2021-10-18 18:04:07 +03:00
.golangci.yml build: increase timeout for golangci-lint to 10 minutes 2021-10-15 15:58:52 +01:00
CONTRIBUTING.md Remove github.com/pkg/errors and replace with std library version 2021-11-07 11:53:30 +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
go.mod go: run go mod tidy and set version to minimum supported go - go1.16 2022-05-01 13:28:20 +01:00
go.sum go: run go mod tidy and set version to minimum supported go - go1.16 2022-05-01 13:28:20 +01:00
MAINTAINERS.md storj: rename tardigrade backend to storj backend #5616 2022-02-11 11:04:15 +00:00
Makefile build: support mount on windows/arm64 - all windows binaries now not cgo 2022-04-29 18:04:21 +01:00
MANUAL.html netstorage: fix unescaped HTML in documentation 2022-03-18 14:40:12 +00:00
MANUAL.md netstorage: fix unescaped HTML in documentation 2022-03-18 14:40:12 +00:00
MANUAL.txt netstorage: fix unescaped HTML in documentation 2022-03-18 14:40:12 +00:00
notes.txt docs: spelling: etc. 2020-10-28 18:16:23 +00:00
rclone.1 netstorage: fix unescaped HTML in documentation 2022-03-18 14:40:12 +00:00
rclone.go lib: add plugin support 2019-09-29 11:05:10 +01:00
README.md s3: Support Cloudflare R2 - fixes #5642 2022-05-12 08:49:20 +01:00
RELEASE.md build: more docs on upgrading dependencies 2021-11-10 10:34:56 +00:00
VERSION Start v1.59.0-DEV development 2022-03-18 14:04:22 +00:00

rclone logo
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 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).