mirror of
https://github.com/rclone/rclone.git
synced 2024-11-22 16:34:30 +01:00
"rsync for cloud storage" - Google Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Wasabi, Google Cloud Storage, Azure Blob, Azure Files, Yandex Files
azure-blobazure-blob-storageazure-filesbackblaze-b2cloud-storagedropboxencryptionftpfuse-filesystemgogolanggoogle-cloud-storagegoogle-driveonedriveopenstack-swiftrclones3sftpsyncwebdav
4ac662d144
Before this change when reading directories we would use the directory handle and the Readdir(-1) call on the directory handle. This worked fine for the first read, but if the directory was read again on the same handle Readdir(-1) returns nothing (as per its design). It turns out that macOS leaves the directory handle open and just re-reads the data from it, so this problem causes directories to start out full then subsequently appear empty. macOS/OSXFUSE is passing an offset of 0 to the Readdir call telling rclone to seek in the directory, but we've told FUSE that we can't seek by always returning ofst=0 in the fill function. This fix works around the problem by reading the directory from the path each time, ignoring the actual handle. This should be no less efficient. We will return an ESPIPE if offset is ever non 0. There are possible corner cases reading deleted directories which this ignores. |
||
---|---|---|
.github | ||
backend | ||
bin | ||
cmd | ||
contrib/docker | ||
docs | ||
fs | ||
fstest | ||
graphics | ||
lib | ||
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 📄
- Alibaba Cloud (Aliyun) Object Storage System (OSS) 📄
- Amazon Drive 📄 (See note)
- Amazon S3 📄
- Backblaze B2 📄
- Box 📄
- Ceph 📄
- Citrix ShareFile 📄
- DigitalOcean Spaces 📄
- Dreamhost 📄
- Dropbox 📄
- FTP 📄
- GetSky 📄
- Google Cloud Storage 📄
- Google Drive 📄
- Google Photos 📄
- HTTP 📄
- Hubic 📄
- Jottacloud 📄
- IBM COS S3 📄
- Koofr 📄
- Mail.ru Cloud 📄
- Memset Memstore 📄
- Mega 📄
- Memory 📄
- Microsoft Azure Blob Storage 📄
- Microsoft OneDrive 📄
- Minio 📄
- Nextcloud 📄
- OVH 📄
- OpenDrive 📄
- OpenStack Swift 📄
- Oracle Cloud Storage 📄
- ownCloud 📄
- pCloud 📄
- premiumize.me 📄
- put.io 📄
- QingStor 📄
- Rackspace Cloud Files 📄
- Scaleway 📄
- Seafile 📄
- SFTP 📄
- StackPath 📄
- SugarSync 📄
- Tardigrade 📄
- Wasabi 📄
- WebDAV 📄
- Yandex Disk 📄
- The local filesystem 📄
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).