2015-09-03 06:37:42 +08:00
|
|
|
---
|
|
|
|
title: "Overview of cloud storage systems"
|
|
|
|
description: "Overview of cloud storage systems"
|
|
|
|
type: page
|
|
|
|
date: "2015-09-06"
|
|
|
|
---
|
|
|
|
|
|
|
|
# Overview of cloud storage systems #
|
|
|
|
|
|
|
|
Each cloud storage system is slighly different. Rclone attempts to
|
|
|
|
provide a unified interface to them, but some underlying differences
|
|
|
|
show through.
|
|
|
|
|
|
|
|
## Features ##
|
|
|
|
|
|
|
|
Here is an overview of the major features of each cloud storage system.
|
|
|
|
|
2016-01-13 18:29:43 +08:00
|
|
|
| Name | Hash | ModTime | Case Insensitive | Duplicate Files |
|
2015-11-14 19:20:04 +08:00
|
|
|
| ---------------------- |:-------:|:-------:|:----------------:|:---------------:|
|
2016-01-13 18:29:43 +08:00
|
|
|
| Google Drive | MD5 | Yes | No | Yes |
|
|
|
|
| Amazon S3 | MD5 | Yes | No | No |
|
|
|
|
| Openstack Swift | MD5 | Yes | No | No |
|
|
|
|
| Dropbox | - | No | Yes | No |
|
|
|
|
| Google Cloud Storage | MD5 | Yes | No | No |
|
|
|
|
| Amazon Cloud Drive | MD5 | No | Yes | No |
|
|
|
|
| Microsoft One Drive | SHA1 | Yes | Yes | No |
|
|
|
|
| Hubic | MD5 | Yes | No | No |
|
|
|
|
| Backblaze B2 | SHA1 | Partial | No | No |
|
|
|
|
| Yandex Disk | MD5 | Yes | No | No |
|
|
|
|
| The local filesystem | All | Yes | Depends | No |
|
|
|
|
|
|
|
|
### Hash ###
|
|
|
|
|
|
|
|
The cloud storage system supports various hash types of the objects.
|
|
|
|
The hashes are used when transferring data as an integrity check and
|
2015-09-03 06:37:42 +08:00
|
|
|
can be specifically used with the `--checksum` flag in syncs and in
|
|
|
|
the `check` command.
|
|
|
|
|
2016-01-13 18:29:43 +08:00
|
|
|
To use the checksum checks between filesystems they must support a
|
|
|
|
common hash type.
|
|
|
|
|
2015-09-03 06:37:42 +08:00
|
|
|
### ModTime ###
|
|
|
|
|
|
|
|
The cloud storage system supports setting modification times on
|
|
|
|
objects. If it does then this enables a using the modification times
|
|
|
|
as part of the sync. If not then only the size will be checked by
|
|
|
|
default, though the MD5SUM can be checked with the `--checksum` flag.
|
|
|
|
|
|
|
|
All cloud storage systems support some kind of date on the object and
|
|
|
|
these will be set when transferring from the cloud storage system.
|
|
|
|
|
2015-11-28 02:25:52 +08:00
|
|
|
Backblaze B2 preserves file modification times on files uploaded and
|
|
|
|
downloaded, but doesn't use them to decide which objects to sync.
|
|
|
|
|
2015-11-14 19:20:04 +08:00
|
|
|
### Case Insensitive ###
|
2015-09-03 06:37:42 +08:00
|
|
|
|
|
|
|
If a cloud storage systems is case sensitive then it is possible to
|
|
|
|
have two files which differ only in case, eg `file.txt` and
|
|
|
|
`FILE.txt`. If a cloud storage system is case insensitive then that
|
|
|
|
isn't possible.
|
|
|
|
|
|
|
|
This can cause problems when syncing between a case insensitive
|
|
|
|
system and a case sensitive system. The symptom of this is that no
|
|
|
|
matter how many times you run the sync it never completes fully.
|
|
|
|
|
|
|
|
The local filesystem may or may not be case sensitive depending on OS.
|
|
|
|
|
2016-01-13 18:29:43 +08:00
|
|
|
* Windows - usually case insensitive, though case is preserved
|
2015-09-03 06:37:42 +08:00
|
|
|
* OSX - usually case insensitive, though it is possible to format case sensitive
|
|
|
|
* Linux - usually case sensitive, but there are case insensitive file systems (eg FAT formatted USB keys)
|
|
|
|
|
|
|
|
Most of the time this doesn't cause any problems as people tend to
|
|
|
|
avoid files whose name differs only by case even on case sensitive
|
|
|
|
systems.
|
|
|
|
|
|
|
|
### Duplicate files ###
|
|
|
|
|
|
|
|
If a cloud storage system allows duplicate files then it can have two
|
|
|
|
objects with the same name.
|
|
|
|
|
|
|
|
This confuses rclone greatly when syncing.
|