mirror of
https://github.com/rclone/rclone
synced 2024-11-20 21:27:33 +01:00
07133b892d
Before this change if using --fast-list on a directory with more than a few thousand directories in it DirTree.CheckParents became very slow taking up to 24 hours for a directory with 1,000,000 directories in it. This is because it becomes an O(N²) operation as DirTree.Find has to search each directory in a linear fashion as it is stored as a slice. This patch fixes the problem by scanning the DirTree for directories before starting the CheckParents process so it never has to call DirTree.Find. After the fix calling DirTree.CheckParents on a directory with 1,000,000 directories in it will take about 1 second. Anything which calls DirTree.Find can potentially have bad performance so in the future we should redesign the DirTree to use a different underlying datastructure or have an index. https://forum.rclone.org/t/almost-24-hours-cpu-compute-time-during-sync-between-two-large-s3-buckets/39375/ |
||
---|---|---|
.github | ||
backend | ||
bin | ||
cmd | ||
cmdtest | ||
contrib | ||
docs | ||
fs | ||
fstest | ||
graphics | ||
lib | ||
librclone | ||
vfs | ||
.gitattributes | ||
.gitignore | ||
.golangci.yml | ||
CONTRIBUTING.md | ||
COPYING | ||
Dockerfile | ||
go.mod | ||
go.sum | ||
MAINTAINERS.md | ||
Makefile | ||
MANUAL.html | ||
MANUAL.md | ||
MANUAL.txt | ||
notes.txt | ||
rclone.1 | ||
rclone.go | ||
README.md | ||
RELEASE.md | ||
VERSION |
Website | Documentation | Download | Contributing | Changelog | Installation | Forum
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
- 1Fichier 📄
- Akamai Netstorage 📄
- Alibaba Cloud (Aliyun) Object Storage System (OSS) 📄
- Amazon Drive 📄 (See note)
- Amazon S3 📄
- ArvanCloud Object Storage (AOS) 📄
- Backblaze B2 📄
- Box 📄
- Ceph 📄
- China Mobile Ecloud Elastic Object Storage (EOS) 📄
- Cloudflare R2 📄
- Citrix ShareFile 📄
- DigitalOcean Spaces 📄
- Digi Storage 📄
- Dreamhost 📄
- Dropbox 📄
- Enterprise File Fabric 📄
- Fastmail Files 📄
- FTP 📄
- Google Cloud Storage 📄
- Google Drive 📄
- Google Photos 📄
- HDFS (Hadoop Distributed Filesystem) 📄
- HiDrive 📄
- HTTP 📄
- Huawei Cloud Object Storage Service(OBS) 📄
- Internet Archive 📄
- Jottacloud 📄
- IBM COS S3 📄
- IONOS Cloud 📄
- Koofr 📄
- Liara Object Storage 📄
- Mail.ru Cloud 📄
- Memset Memstore 📄
- Mega 📄
- Memory 📄
- Microsoft Azure Blob Storage 📄
- Microsoft OneDrive 📄
- Minio 📄
- Nextcloud 📄
- OVH 📄
- Blomp Cloud Storage 📄
- OpenDrive 📄
- OpenStack Swift 📄
- Oracle Cloud Storage 📄
- Oracle Object Storage 📄
- ownCloud 📄
- pCloud 📄
- Petabox 📄
- PikPak 📄
- premiumize.me 📄
- put.io 📄
- QingStor 📄
- Qiniu Cloud Object Storage (Kodo) 📄
- Rackspace Cloud Files 📄
- RackCorp Object Storage 📄
- Scaleway 📄
- Seafile 📄
- SeaweedFS 📄
- SFTP 📄
- SMB / CIFS 📄
- StackPath 📄
- Storj 📄
- SugarSync 📄
- Tencent Cloud Object Storage (COS) 📄
- Wasabi 📄
- WebDAV 📄
- Yandex Disk 📄
- Zoho WorkDrive 📄
- The local filesystem 📄
Please see the full list of all storage providers and their features
Virtual storage providers
These backends adapt or modify other storage providers
- Alias: rename existing remotes 📄
- Cache: cache remotes (DEPRECATED) 📄
- Chunker: split large files 📄
- Combine: combine multiple remotes into a directory tree 📄
- Compress: compress files 📄
- Crypt: encrypt files 📄
- Hasher: hash files 📄
- Union: join multiple remotes to work together 📄
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 the MIT license (check the COPYING file included in this package).