You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+18Lines changed: 18 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,7 @@
1
1
# swift-http-import
2
2
3
3
*[Do NOT use if...](#do-not-use-if)
4
+
*[Why this instead of rclone?](#why-this-instead-of-rclone)
4
5
*[Implicit assumptions](#implicit-assumptions)
5
6
*[Installation](#installation)
6
7
*[Usage](#usage)
@@ -20,6 +21,23 @@ listings on that URL, and mirrors all files that it finds into Swift. It will ta
20
21
`Etag` response headers to avoid repeated downloads of the same content, so best performance is ensured if the HTTP server
21
22
handles `If-Modified-Since` and `If-None-Match` request headers correctly.
22
23
24
+
## Why this instead of rclone?
25
+
26
+
[rclone](https://github.com/ncw/rclone/) is a similar tool that supports a much wider range of sources, and supports
27
+
targets other than Swift. Users who need to sync from or to different clouds might therefore prefer rclone. If your only
28
+
target is Swift, swift-http-import is better than rclone because it is built by people who operate Swift clusters for a
29
+
living and know all the intricacies of the system, and how to optimize Swift clients for maximum performance and
30
+
stability:
31
+
32
+
* rclone does not support Swift symlinks. Symlinks will be copied as regular files, thereby potentially wasting space on
33
+
the target storage. swift-http-import recognizes symlinks and copies them as a symlink.
34
+
* rclone transfers large objects using the Dynamic Large Object strategy. DLO suffers from severe eventual-consistency
35
+
problems when the Swift cluster is under high load. swift-http-import uses the much more resilient Static Large Object
36
+
strategy instead.
37
+
* rclone does not propagate expiration dates when transferring between Swift containers. swift-http-import does.
38
+
* swift-http-import uses customized transfer strategies to ensure a stable transfer over narrow or flaky network
39
+
connections.
40
+
23
41
## Do NOT use if...
24
42
25
43
* ...you have access to the source filesystem. Just use the normal [`swift upload`](https://docs.openstack.org/python-swiftclient/latest/) instead, it's much more efficient.
0 commit comments