"rsync for cloud storage" - Google Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Wasabi, Google Cloud Storage, Azure Blob, Azure Files, Yandex Files
Find a file
Nick Craig-Wood f980f230c5 vfs: fix virtual entries causing deleted files to still appear
Before this change, if a file was created on a remote but deleted
externally from that remote then there was potential for the delete to
never be noticed.

The sequence of events was:

- Create file on VFS - creates virtual directory entry
- File deleted externally to remote before the directory refreshed
- Now the file has a virtual add but is not in the listings so will never disappear

This patch fixes it by removing all virtual directory entries except
the following when the directory is re-read.

- On remotes which can't have empty directories: virtual directory
  adds are not flushed. These will remain virtual as long as the
  directory is empty.

- For virtual file add: files that are in the process of being
  uploaded are not flushed

This patch also adds the distinction between virtually added files and
directories.

It also refactors the virtual directory logic to make it easier to follow.

Fixes #4446
2020-11-10 16:47:25 +00:00
.github docs: spelling: e.g. 2020-10-28 18:16:23 +00:00
backend config: add context.Context #3257 #4685 2020-11-09 18:05:54 +00:00
bin docs: spelling: etc. 2020-10-28 18:16:23 +00:00
cmd servetest: add -sub-run flag for running a subset of the backend tests 2020-11-10 16:47:25 +00:00
contrib/docker Contrib: Add sample WebDAV server Docker Compose manifest. 2019-09-15 16:06:54 +01:00
docs jottacloud: docs: add heading to the example section so that it does not seem to be part of the legacy setup section 2020-11-06 17:52:50 +00:00
fs config: add context.Context #3257 #4685 2020-11-09 18:05:54 +00:00
fstest accounting: add context.Context #3257 #4685 2020-11-09 18:05:54 +00:00
graphics build: Add file properties and icon to Windows executable (fixes #4304) 2020-06-11 09:26:14 +01:00
lib config: add context.Context #3257 #4685 2020-11-09 18:05:54 +00:00
vfs vfs: fix virtual entries causing deleted files to still appear 2020-11-10 16:47:25 +00: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 docs: spelling: etc. 2020-10-28 18:16:23 +00:00
COPYING Initial commit - some small parts working 2012-11-18 17:32:31 +00:00
Dockerfile build: fix custom timezone in Docker image 2020-06-17 10:43:03 +01:00
go.mod azureblob: update lib from v0.10.0 to v0.11.0 and fix API breakage 2020-10-29 13:34:39 +00:00
go.sum build: update all dependencies 2020-10-29 13:34:39 +00:00
MAINTAINERS.md docs: spelling: etc. 2020-10-28 18:16:23 +00:00
Makefile docs: spelling: etc. 2020-10-28 18:16:23 +00:00
MANUAL.html Version v1.53.0 2020-09-02 17:00:18 +01:00
MANUAL.md Version v1.53.0 2020-09-02 17:00:18 +01:00
MANUAL.txt Version v1.53.0 2020-09-02 17:00:18 +01:00
notes.txt docs: spelling: etc. 2020-10-28 18:16:23 +00:00
rclone.1 Version v1.53.0 2020-09-02 17:00:18 +01:00
rclone.go lib: add plugin support 2019-09-29 11:05:10 +01:00
README.md docs: add Tencent COS to s3 provider list - fixes #4468 2020-09-08 16:34:25 +01:00
RELEASE.md docs: spelling: e.g. 2020-10-28 18:16:23 +00:00
VERSION Start v1.54.0-DEV development 2020-09-02 17:52:58 +01:00

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