2022-02-04 17:58:04 +00:00
|
|
|
---
|
|
|
|
|
title: "Storj"
|
|
|
|
|
description: "Rclone docs for Storj"
|
2024-08-16 11:14:57 +02:00
|
|
|
aliases:
|
|
|
|
|
- tardigrade
|
2022-12-20 21:05:05 +01:00
|
|
|
versionIntroduced: "v1.52"
|
2022-02-04 17:58:04 +00:00
|
|
|
---
|
|
|
|
|
|
|
|
|
|
# {{< icon "fas fa-dove" >}} Storj
|
|
|
|
|
|
2024-04-26 13:33:00 +01:00
|
|
|
[Storj](https://storj.io) is redefining the cloud to support the
|
|
|
|
|
future of data—sustainably and economically. Storj leverages the vast
|
|
|
|
|
global supply of underutilized resources to deliver better security,
|
|
|
|
|
durability, and performance services. Experience up to 90% lower costs
|
|
|
|
|
and carbon reduction with Storj.
|
|
|
|
|
|
|
|
|
|
Storj is an encrypted, secure, and cost-effective object storage service
|
|
|
|
|
that enables you to store, back up, and archive large amounts of data
|
|
|
|
|
in a decentralized manner.
|
2022-02-04 17:58:04 +00:00
|
|
|
|
|
|
|
|
## Backend options
|
|
|
|
|
|
|
|
|
|
Storj can be used both with this native backend and with the [s3
|
|
|
|
|
backend using the Storj S3 compatible gateway](/s3/#storj) (shared or private).
|
|
|
|
|
|
|
|
|
|
Use this backend to take advantage of client-side encryption as well
|
|
|
|
|
as to achieve the best possible download performance. Uploads will be
|
|
|
|
|
erasure-coded locally, thus a 1gb upload will result in 2.68gb of data
|
|
|
|
|
being uploaded to storage nodes across the network.
|
|
|
|
|
|
|
|
|
|
Use the s3 backend and one of the S3 compatible Hosted Gateways to
|
|
|
|
|
increase upload performance and reduce the load on your systems and
|
|
|
|
|
network. Uploads will be encrypted and erasure-coded server-side, thus
|
|
|
|
|
a 1GB upload will result in only in 1GB of data being uploaded to
|
|
|
|
|
storage nodes across the network.
|
|
|
|
|
|
|
|
|
|
Side by side comparison with more details:
|
|
|
|
|
|
2025-08-25 00:00:48 +02:00
|
|
|
- Characteristics:
|
|
|
|
|
- *Storj backend*: Uses native RPC protocol, connects directly
|
2022-02-04 17:58:04 +00:00
|
|
|
to the storage nodes which hosts the data. Requires more CPU
|
|
|
|
|
resource of encoding/decoding and has network amplification
|
|
|
|
|
(especially during the upload), uses lots of TCP connections
|
2025-08-25 00:00:48 +02:00
|
|
|
- *S3 backend*: Uses S3 compatible HTTP Rest API via the shared
|
2022-02-04 17:58:04 +00:00
|
|
|
gateways. There is no network amplification, but performance
|
|
|
|
|
depends on the shared gateways and the secret encryption key is
|
|
|
|
|
shared with the gateway.
|
2025-08-25 00:00:48 +02:00
|
|
|
- Typical usage:
|
|
|
|
|
- *Storj backend*: Server environments and desktops with enough
|
2022-02-04 17:58:04 +00:00
|
|
|
resources, internet speed and connectivity - and applications
|
|
|
|
|
where storjs client-side encryption is required.
|
2025-08-25 00:00:48 +02:00
|
|
|
- *S3 backend*: Desktops and similar with limited resources,
|
2022-02-04 17:58:04 +00:00
|
|
|
internet speed or connectivity.
|
2025-08-25 00:00:48 +02:00
|
|
|
- Security:
|
|
|
|
|
- *Storj backend*: **strong**. Private encryption key doesn't
|
2022-02-04 17:58:04 +00:00
|
|
|
need to leave the local computer.
|
2025-08-25 00:00:48 +02:00
|
|
|
- *S3 backend*: **weaker**. Private encryption key is [shared
|
2022-02-04 17:58:04 +00:00
|
|
|
with](https://docs.storj.io/dcs/api-reference/s3-compatible-gateway#security-and-encryption)
|
|
|
|
|
the authentication service of the hosted gateway, where it's
|
|
|
|
|
stored encrypted. It can be stronger when combining with the
|
|
|
|
|
rclone [crypt](/crypt) backend.
|
2025-08-25 00:00:48 +02:00
|
|
|
- Bandwidth usage (upload):
|
|
|
|
|
- *Storj backend*: **higher**. As data is erasure coded on the
|
2022-02-04 17:58:04 +00:00
|
|
|
client side both the original data and the parities should be
|
|
|
|
|
uploaded. About ~2.7 times more data is required to be uploaded.
|
|
|
|
|
Client may start to upload with even higher number of nodes (~3.7
|
|
|
|
|
times more) and abandon/stop the slow uploads.
|
2025-08-25 00:00:48 +02:00
|
|
|
- *S3 backend*: **normal**. Only the raw data is uploaded, erasure
|
2022-02-04 17:58:04 +00:00
|
|
|
coding happens on the gateway.
|
2025-08-25 00:00:48 +02:00
|
|
|
- Bandwidth usage (download)
|
|
|
|
|
- *Storj backend*: **almost normal**. Only the minimal number
|
2022-02-04 17:58:04 +00:00
|
|
|
of data is required, but to avoid very slow data providers a few
|
|
|
|
|
more sources are used and the slowest are ignored (max 1.2x
|
|
|
|
|
overhead).
|
2025-08-25 00:00:48 +02:00
|
|
|
- *S3 backend*: **normal**. Only the raw data is downloaded, erasure
|
|
|
|
|
coding happens on the shared gateway.
|
|
|
|
|
- CPU usage:
|
|
|
|
|
- *Storj backend*: **higher**, but more predictable. Erasure
|
2022-02-04 17:58:04 +00:00
|
|
|
code and encryption/decryption happens locally which requires
|
|
|
|
|
significant CPU usage.
|
2025-08-25 00:00:48 +02:00
|
|
|
- *S3 backend*: **less**. Erasure code and encryption/decryption
|
2022-02-04 17:58:04 +00:00
|
|
|
happens on shared s3 gateways (and as is, it depends on the
|
|
|
|
|
current load on the gateways)
|
2025-08-25 00:00:48 +02:00
|
|
|
- TCP connection usage:
|
|
|
|
|
- *Storj backend*: **high**. A direct connection is required to
|
2022-02-04 17:58:04 +00:00
|
|
|
each of the Storj nodes resulting in 110 connections on upload and
|
|
|
|
|
35 on download per 64 MB segment. Not all the connections are
|
|
|
|
|
actively used (slow ones are pruned), but they are all opened.
|
|
|
|
|
[Adjusting the max open file limit](/storj/#known-issues) may
|
|
|
|
|
be required.
|
2025-08-25 00:00:48 +02:00
|
|
|
- *S3 backend*: **normal**. Only one connection per download/upload
|
2022-02-04 17:58:04 +00:00
|
|
|
thread is required to the shared gateway.
|
2025-08-25 00:00:48 +02:00
|
|
|
- Overall performance:
|
|
|
|
|
- *Storj backend*: with enough resources (CPU and bandwidth)
|
2022-02-04 17:58:04 +00:00
|
|
|
*storj* backend can provide even 2x better performance. Data
|
|
|
|
|
is directly downloaded to / uploaded from to the client instead of
|
|
|
|
|
the gateway.
|
2025-08-25 00:00:48 +02:00
|
|
|
- *S3 backend*: Can be faster on edge devices where CPU and network
|
2022-02-04 17:58:04 +00:00
|
|
|
bandwidth is limited as the shared S3 compatible gateways take
|
|
|
|
|
care about the encrypting/decryption and erasure coding and no
|
|
|
|
|
download/upload amplification.
|
2025-08-25 00:00:48 +02:00
|
|
|
- Decentralization:
|
|
|
|
|
- *Storj backend*: **high**. Data is downloaded directly from
|
2022-02-04 17:58:04 +00:00
|
|
|
the distributed cloud of storage providers.
|
2025-08-25 00:00:48 +02:00
|
|
|
- *S3 backend*: **low**. Requires a running S3 gateway (either
|
2022-02-04 17:58:04 +00:00
|
|
|
self-hosted or Storj-hosted).
|
2025-08-25 00:00:48 +02:00
|
|
|
- Limitations:
|
|
|
|
|
- *Storj backend*: `rclone checksum` is not possible without
|
2022-02-04 17:58:04 +00:00
|
|
|
download, as checksum metadata is not calculated during upload
|
2025-08-25 00:00:48 +02:00
|
|
|
- *S3 backend*: secret encryption key is shared with the gateway
|
2022-02-04 17:58:04 +00:00
|
|
|
|
|
|
|
|
## Configuration
|
|
|
|
|
|
|
|
|
|
To make a new Storj configuration you need one of the following:
|
2025-08-25 00:00:48 +02:00
|
|
|
|
|
|
|
|
- Access Grant that someone else shared with you.
|
|
|
|
|
- [API Key](https://documentation.storj.io/getting-started/uploading-your-first-object/create-an-api-key)
|
|
|
|
|
of a Storj project you are a member of.
|
2022-02-04 17:58:04 +00:00
|
|
|
|
|
|
|
|
Here is an example of how to make a remote called `remote`. First run:
|
|
|
|
|
|
2025-10-31 21:58:24 +01:00
|
|
|
```console
|
2025-08-25 00:00:48 +02:00
|
|
|
rclone config
|
|
|
|
|
```
|
2022-02-04 17:58:04 +00:00
|
|
|
|
|
|
|
|
This will guide you through an interactive setup process:
|
|
|
|
|
|
|
|
|
|
### Setup with access grant
|
|
|
|
|
|
2025-08-25 00:00:48 +02:00
|
|
|
```text
|
|
|
|
|
No remotes found, make a new one\?
|
2022-02-04 17:58:04 +00:00
|
|
|
n) New remote
|
|
|
|
|
s) Set configuration password
|
|
|
|
|
q) Quit config
|
|
|
|
|
n/s/q> n
|
|
|
|
|
name> remote
|
|
|
|
|
Type of storage to configure.
|
|
|
|
|
Enter a string value. Press Enter for the default ("").
|
|
|
|
|
Choose a number from below, or type in your own value
|
|
|
|
|
[snip]
|
|
|
|
|
XX / Storj Decentralized Cloud Storage
|
|
|
|
|
\ "storj"
|
|
|
|
|
[snip]
|
|
|
|
|
Storage> storj
|
|
|
|
|
** See help for storj backend at: https://rclone.org/storj/ **
|
|
|
|
|
|
|
|
|
|
Choose an authentication method.
|
|
|
|
|
Enter a string value. Press Enter for the default ("existing").
|
|
|
|
|
Choose a number from below, or type in your own value
|
|
|
|
|
1 / Use an existing access grant.
|
|
|
|
|
\ "existing"
|
|
|
|
|
2 / Create a new access grant from satellite address, API key, and passphrase.
|
|
|
|
|
\ "new"
|
|
|
|
|
provider> existing
|
|
|
|
|
Access Grant.
|
|
|
|
|
Enter a string value. Press Enter for the default ("").
|
|
|
|
|
access_grant> your-access-grant-received-by-someone-else
|
|
|
|
|
Remote config
|
2024-08-16 12:05:43 +02:00
|
|
|
Configuration complete.
|
|
|
|
|
Options:
|
|
|
|
|
- type: storj
|
|
|
|
|
- access_grant: your-access-grant-received-by-someone-else
|
|
|
|
|
Keep this "remote" remote?
|
2022-02-04 17:58:04 +00:00
|
|
|
y) Yes this is OK (default)
|
|
|
|
|
e) Edit this remote
|
|
|
|
|
d) Delete this remote
|
|
|
|
|
y/e/d> y
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### Setup with API key and passphrase
|
|
|
|
|
|
2025-08-25 00:00:48 +02:00
|
|
|
```text
|
|
|
|
|
No remotes found, make a new one\?
|
2022-02-04 17:58:04 +00:00
|
|
|
n) New remote
|
|
|
|
|
s) Set configuration password
|
|
|
|
|
q) Quit config
|
|
|
|
|
n/s/q> n
|
|
|
|
|
name> remote
|
|
|
|
|
Type of storage to configure.
|
|
|
|
|
Enter a string value. Press Enter for the default ("").
|
|
|
|
|
Choose a number from below, or type in your own value
|
|
|
|
|
[snip]
|
|
|
|
|
XX / Storj Decentralized Cloud Storage
|
|
|
|
|
\ "storj"
|
|
|
|
|
[snip]
|
|
|
|
|
Storage> storj
|
|
|
|
|
** See help for storj backend at: https://rclone.org/storj/ **
|
|
|
|
|
|
|
|
|
|
Choose an authentication method.
|
|
|
|
|
Enter a string value. Press Enter for the default ("existing").
|
|
|
|
|
Choose a number from below, or type in your own value
|
|
|
|
|
1 / Use an existing access grant.
|
|
|
|
|
\ "existing"
|
|
|
|
|
2 / Create a new access grant from satellite address, API key, and passphrase.
|
|
|
|
|
\ "new"
|
|
|
|
|
provider> new
|
|
|
|
|
Satellite Address. Custom satellite address should match the format: `<nodeid>@<address>:<port>`.
|
2023-02-06 12:32:49 +02:00
|
|
|
Enter a string value. Press Enter for the default ("us1.storj.io").
|
2022-02-04 17:58:04 +00:00
|
|
|
Choose a number from below, or type in your own value
|
2023-02-06 12:32:49 +02:00
|
|
|
1 / US1
|
|
|
|
|
\ "us1.storj.io"
|
|
|
|
|
2 / EU1
|
|
|
|
|
\ "eu1.storj.io"
|
|
|
|
|
3 / AP1
|
|
|
|
|
\ "ap1.storj.io"
|
2022-02-04 17:58:04 +00:00
|
|
|
satellite_address> 1
|
|
|
|
|
API Key.
|
|
|
|
|
Enter a string value. Press Enter for the default ("").
|
|
|
|
|
api_key> your-api-key-for-your-storj-project
|
|
|
|
|
Encryption Passphrase. To access existing objects enter passphrase used for uploading.
|
|
|
|
|
Enter a string value. Press Enter for the default ("").
|
|
|
|
|
passphrase> your-human-readable-encryption-passphrase
|
|
|
|
|
Remote config
|
2024-08-16 12:05:43 +02:00
|
|
|
Configuration complete.
|
|
|
|
|
Options:
|
|
|
|
|
- type: storj
|
|
|
|
|
- satellite_address: 12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S@us1.storj.io:7777
|
|
|
|
|
- api_key: your-api-key-for-your-storj-project
|
|
|
|
|
- passphrase: your-human-readable-encryption-passphrase
|
|
|
|
|
- access_grant: the-access-grant-generated-from-the-api-key-and-passphrase
|
|
|
|
|
Keep this "remote" remote?
|
2022-02-04 17:58:04 +00:00
|
|
|
y) Yes this is OK (default)
|
|
|
|
|
e) Edit this remote
|
|
|
|
|
d) Delete this remote
|
|
|
|
|
y/e/d> y
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
{{< rem autogenerated options start" - DO NOT EDIT - instead edit fs.RegInfo in backend/storj/storj.go then run make backenddocs" >}}
|
|
|
|
|
### Standard options
|
|
|
|
|
|
2022-07-09 18:08:20 +01:00
|
|
|
Here are the Standard options specific to storj (Storj Decentralized Cloud Storage).
|
2022-02-04 17:58:04 +00:00
|
|
|
|
|
|
|
|
#### --storj-provider
|
|
|
|
|
|
|
|
|
|
Choose an authentication method.
|
|
|
|
|
|
2022-03-18 12:29:54 +00:00
|
|
|
Properties:
|
|
|
|
|
|
2022-02-04 17:58:04 +00:00
|
|
|
- Config: provider
|
|
|
|
|
- Env Var: RCLONE_STORJ_PROVIDER
|
|
|
|
|
- Type: string
|
|
|
|
|
- Default: "existing"
|
|
|
|
|
- Examples:
|
|
|
|
|
- "existing"
|
|
|
|
|
- Use an existing access grant.
|
|
|
|
|
- "new"
|
|
|
|
|
- Create a new access grant from satellite address, API key, and passphrase.
|
|
|
|
|
|
|
|
|
|
#### --storj-access-grant
|
|
|
|
|
|
|
|
|
|
Access grant.
|
|
|
|
|
|
2022-03-18 12:29:54 +00:00
|
|
|
Properties:
|
|
|
|
|
|
2022-02-04 17:58:04 +00:00
|
|
|
- Config: access_grant
|
|
|
|
|
- Env Var: RCLONE_STORJ_ACCESS_GRANT
|
2022-03-18 12:29:54 +00:00
|
|
|
- Provider: existing
|
2022-02-04 17:58:04 +00:00
|
|
|
- Type: string
|
2022-03-18 12:29:54 +00:00
|
|
|
- Required: false
|
2022-02-04 17:58:04 +00:00
|
|
|
|
|
|
|
|
#### --storj-satellite-address
|
|
|
|
|
|
|
|
|
|
Satellite address.
|
|
|
|
|
|
|
|
|
|
Custom satellite address should match the format: `<nodeid>@<address>:<port>`.
|
|
|
|
|
|
2022-03-18 12:29:54 +00:00
|
|
|
Properties:
|
|
|
|
|
|
2022-02-04 17:58:04 +00:00
|
|
|
- Config: satellite_address
|
|
|
|
|
- Env Var: RCLONE_STORJ_SATELLITE_ADDRESS
|
2022-03-18 12:29:54 +00:00
|
|
|
- Provider: new
|
2022-02-04 17:58:04 +00:00
|
|
|
- Type: string
|
2023-02-06 12:32:49 +02:00
|
|
|
- Default: "us1.storj.io"
|
2022-02-04 17:58:04 +00:00
|
|
|
- Examples:
|
2023-02-06 12:32:49 +02:00
|
|
|
- "us1.storj.io"
|
|
|
|
|
- US1
|
|
|
|
|
- "eu1.storj.io"
|
|
|
|
|
- EU1
|
|
|
|
|
- "ap1.storj.io"
|
|
|
|
|
- AP1
|
2022-02-04 17:58:04 +00:00
|
|
|
|
|
|
|
|
#### --storj-api-key
|
|
|
|
|
|
|
|
|
|
API key.
|
|
|
|
|
|
2022-03-18 12:29:54 +00:00
|
|
|
Properties:
|
|
|
|
|
|
2022-02-04 17:58:04 +00:00
|
|
|
- Config: api_key
|
|
|
|
|
- Env Var: RCLONE_STORJ_API_KEY
|
2022-03-18 12:29:54 +00:00
|
|
|
- Provider: new
|
2022-02-04 17:58:04 +00:00
|
|
|
- Type: string
|
2022-03-18 12:29:54 +00:00
|
|
|
- Required: false
|
2022-02-04 17:58:04 +00:00
|
|
|
|
|
|
|
|
#### --storj-passphrase
|
|
|
|
|
|
|
|
|
|
Encryption passphrase.
|
|
|
|
|
|
|
|
|
|
To access existing objects enter passphrase used for uploading.
|
|
|
|
|
|
2022-03-18 12:29:54 +00:00
|
|
|
Properties:
|
|
|
|
|
|
2022-02-04 17:58:04 +00:00
|
|
|
- Config: passphrase
|
|
|
|
|
- Env Var: RCLONE_STORJ_PASSPHRASE
|
2022-03-18 12:29:54 +00:00
|
|
|
- Provider: new
|
2022-02-04 17:58:04 +00:00
|
|
|
- Type: string
|
2022-03-18 12:29:54 +00:00
|
|
|
- Required: false
|
2022-02-04 17:58:04 +00:00
|
|
|
|
2024-03-10 11:22:43 +00:00
|
|
|
### Advanced options
|
|
|
|
|
|
|
|
|
|
Here are the Advanced options specific to storj (Storj Decentralized Cloud Storage).
|
|
|
|
|
|
|
|
|
|
#### --storj-description
|
|
|
|
|
|
2024-06-14 16:04:51 +01:00
|
|
|
Description of the remote.
|
2024-03-10 11:22:43 +00:00
|
|
|
|
|
|
|
|
Properties:
|
|
|
|
|
|
|
|
|
|
- Config: description
|
|
|
|
|
- Env Var: RCLONE_STORJ_DESCRIPTION
|
|
|
|
|
- Type: string
|
|
|
|
|
- Required: false
|
|
|
|
|
|
2022-02-04 17:58:04 +00:00
|
|
|
{{< rem autogenerated options stop >}}
|
|
|
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
|
|
|
|
|
Paths are specified as `remote:bucket` (or `remote:` for the `lsf`
|
|
|
|
|
command.) You may put subdirectories in too, e.g. `remote:bucket/path/to/dir`.
|
|
|
|
|
|
|
|
|
|
Once configured you can then use `rclone` like this.
|
|
|
|
|
|
|
|
|
|
### Create a new bucket
|
|
|
|
|
|
|
|
|
|
Use the `mkdir` command to create new bucket, e.g. `bucket`.
|
|
|
|
|
|
2025-10-31 21:58:24 +01:00
|
|
|
```console
|
2025-08-25 00:00:48 +02:00
|
|
|
rclone mkdir remote:bucket
|
|
|
|
|
```
|
2022-02-04 17:58:04 +00:00
|
|
|
|
|
|
|
|
### List all buckets
|
|
|
|
|
|
|
|
|
|
Use the `lsf` command to list all buckets.
|
|
|
|
|
|
2025-10-31 21:58:24 +01:00
|
|
|
```console
|
2025-08-25 00:00:48 +02:00
|
|
|
rclone lsf remote:
|
|
|
|
|
```
|
2022-02-04 17:58:04 +00:00
|
|
|
|
|
|
|
|
Note the colon (`:`) character at the end of the command line.
|
|
|
|
|
|
|
|
|
|
### Delete a bucket
|
|
|
|
|
|
|
|
|
|
Use the `rmdir` command to delete an empty bucket.
|
|
|
|
|
|
2025-10-31 21:58:24 +01:00
|
|
|
```console
|
|
|
|
|
rclone rmdir remote:bucket
|
|
|
|
|
```
|
2022-02-04 17:58:04 +00:00
|
|
|
|
|
|
|
|
Use the `purge` command to delete a non-empty bucket with all its content.
|
|
|
|
|
|
2025-10-31 21:58:24 +01:00
|
|
|
```console
|
|
|
|
|
rclone purge remote:bucket
|
|
|
|
|
```
|
2022-02-04 17:58:04 +00:00
|
|
|
|
|
|
|
|
### Upload objects
|
|
|
|
|
|
|
|
|
|
Use the `copy` command to upload an object.
|
|
|
|
|
|
2025-10-31 21:58:24 +01:00
|
|
|
```console
|
|
|
|
|
rclone copy --progress /home/local/directory/file.ext remote:bucket/path/to/dir/
|
|
|
|
|
```
|
2022-02-04 17:58:04 +00:00
|
|
|
|
|
|
|
|
The `--progress` flag is for displaying progress information.
|
|
|
|
|
Remove it if you don't need this information.
|
|
|
|
|
|
|
|
|
|
Use a folder in the local path to upload all its objects.
|
|
|
|
|
|
2025-10-31 21:58:24 +01:00
|
|
|
```console
|
|
|
|
|
rclone copy --progress /home/local/directory/ remote:bucket/path/to/dir/
|
|
|
|
|
```
|
2022-02-04 17:58:04 +00:00
|
|
|
|
|
|
|
|
Only modified files will be copied.
|
|
|
|
|
|
|
|
|
|
### List objects
|
|
|
|
|
|
|
|
|
|
Use the `ls` command to list recursively all objects in a bucket.
|
|
|
|
|
|
2025-10-31 21:58:24 +01:00
|
|
|
```console
|
2025-08-25 00:00:48 +02:00
|
|
|
rclone ls remote:bucket
|
|
|
|
|
```
|
|
|
|
|
|
2022-02-04 17:58:04 +00:00
|
|
|
Add the folder to the remote path to list recursively all objects in this folder.
|
|
|
|
|
|
2025-10-31 21:58:24 +01:00
|
|
|
```console
|
|
|
|
|
$ rclone ls remote:bucket
|
2025-08-25 00:00:48 +02:00
|
|
|
/path/to/dir/
|
2025-10-31 21:58:24 +01:00
|
|
|
```
|
2022-02-04 17:58:04 +00:00
|
|
|
|
|
|
|
|
Use the `lsf` command to list non-recursively all objects in a bucket or a folder.
|
|
|
|
|
|
2025-10-31 21:58:24 +01:00
|
|
|
```console
|
|
|
|
|
rclone lsf remote:bucket/path/to/dir/
|
|
|
|
|
```
|
2022-02-04 17:58:04 +00:00
|
|
|
|
|
|
|
|
### Download objects
|
|
|
|
|
|
|
|
|
|
Use the `copy` command to download an object.
|
|
|
|
|
|
2025-10-31 21:58:24 +01:00
|
|
|
```console
|
|
|
|
|
rclone copy --progress remote:bucket/path/to/dir/file.ext /home/local/directory/
|
|
|
|
|
```
|
2022-02-04 17:58:04 +00:00
|
|
|
|
|
|
|
|
The `--progress` flag is for displaying progress information.
|
|
|
|
|
Remove it if you don't need this information.
|
|
|
|
|
|
|
|
|
|
Use a folder in the remote path to download all its objects.
|
|
|
|
|
|
2025-10-31 21:58:24 +01:00
|
|
|
```console
|
|
|
|
|
rclone copy --progress remote:bucket/path/to/dir/ /home/local/directory/
|
|
|
|
|
```
|
2022-02-04 17:58:04 +00:00
|
|
|
|
|
|
|
|
### Delete objects
|
|
|
|
|
|
|
|
|
|
Use the `deletefile` command to delete a single object.
|
|
|
|
|
|
2025-10-31 21:58:24 +01:00
|
|
|
```console
|
|
|
|
|
rclone deletefile remote:bucket/path/to/dir/file.ext
|
|
|
|
|
```
|
2022-02-04 17:58:04 +00:00
|
|
|
|
|
|
|
|
Use the `delete` command to delete all object in a folder.
|
|
|
|
|
|
2025-10-31 21:58:24 +01:00
|
|
|
```console
|
|
|
|
|
rclone delete remote:bucket/path/to/dir/
|
|
|
|
|
```
|
2022-02-04 17:58:04 +00:00
|
|
|
|
|
|
|
|
### Print the total size of objects
|
|
|
|
|
|
|
|
|
|
Use the `size` command to print the total size of objects in a bucket or a folder.
|
|
|
|
|
|
2025-10-31 21:58:24 +01:00
|
|
|
```console
|
|
|
|
|
rclone size remote:bucket/path/to/dir/
|
|
|
|
|
```
|
2022-02-04 17:58:04 +00:00
|
|
|
|
|
|
|
|
### Sync two Locations
|
|
|
|
|
|
|
|
|
|
Use the `sync` command to sync the source to the destination,
|
|
|
|
|
changing the destination only, deleting any excess files.
|
|
|
|
|
|
2025-10-31 21:58:24 +01:00
|
|
|
```console
|
|
|
|
|
rclone sync --interactive --progress /home/local/directory/ remote:bucket/path/to/dir/
|
|
|
|
|
```
|
2022-02-04 17:58:04 +00:00
|
|
|
|
|
|
|
|
The `--progress` flag is for displaying progress information.
|
|
|
|
|
Remove it if you don't need this information.
|
|
|
|
|
|
|
|
|
|
Since this can cause data loss, test first with the `--dry-run` flag
|
|
|
|
|
to see exactly what would be copied and deleted.
|
|
|
|
|
|
|
|
|
|
The sync can be done also from Storj to the local file system.
|
|
|
|
|
|
2025-10-31 21:58:24 +01:00
|
|
|
```console
|
|
|
|
|
rclone sync --interactive --progress remote:bucket/path/to/dir/ /home/local/directory/
|
|
|
|
|
```
|
2022-02-04 17:58:04 +00:00
|
|
|
|
|
|
|
|
Or between two Storj buckets.
|
|
|
|
|
|
2025-10-31 21:58:24 +01:00
|
|
|
```console
|
|
|
|
|
rclone sync --interactive --progress remote-us:bucket/path/to/dir/ remote-europe:bucket/path/to/dir/
|
|
|
|
|
```
|
2022-02-04 17:58:04 +00:00
|
|
|
|
|
|
|
|
Or even between another cloud storage and Storj.
|
|
|
|
|
|
2025-10-31 21:58:24 +01:00
|
|
|
```console
|
|
|
|
|
rclone sync --interactive --progress s3:bucket/path/to/dir/ storj:bucket/path/to/dir/
|
|
|
|
|
```
|
2022-02-04 17:58:04 +00:00
|
|
|
|
|
|
|
|
## Limitations
|
|
|
|
|
|
|
|
|
|
`rclone about` is not supported by the rclone Storj backend. Backends without
|
|
|
|
|
this capability cannot determine free space for an rclone mount or
|
|
|
|
|
use policy `mfs` (most free space) as a member of an rclone union
|
|
|
|
|
remote.
|
|
|
|
|
|
2025-10-31 22:54:26 +01:00
|
|
|
See [List of backends that do not support rclone about](https://rclone.org/overview/#optional-features)
|
|
|
|
|
and [rclone about](https://rclone.org/commands/rclone_about/).
|
2022-02-04 17:58:04 +00:00
|
|
|
|
|
|
|
|
## Known issues
|
|
|
|
|
|
2025-10-31 22:54:26 +01:00
|
|
|
If you get errors like `too many open files` this usually happens when the
|
|
|
|
|
default `ulimit` for system max open files is exceeded. Native Storj protocol
|
|
|
|
|
opens a large number of TCP connections (each of which is counted as an open
|
|
|
|
|
file). For a single upload stream you can expect 110 TCP connections to be
|
|
|
|
|
opened. For a single download stream you can expect 35. This batch of
|
|
|
|
|
connections will be opened for every 64 MiB segment and you should also
|
|
|
|
|
expect TCP connections to be reused. If you do many transfers you eventually
|
|
|
|
|
open a connection to most storage nodes (thousands of nodes).
|
|
|
|
|
|
|
|
|
|
To fix these, please raise your system limits. You can do this issuing a
|
|
|
|
|
`ulimit -n 65536` just before you run rclone. To change the limits more
|
|
|
|
|
permanently you can add this to your shell startup script,
|
|
|
|
|
e.g. `$HOME/.bashrc`, or change the system-wide configuration,
|
|
|
|
|
usually `/etc/sysctl.conf` and/or `/etc/security/limits.conf`, but please
|
|
|
|
|
refer to your operating system manual.
|