---
title: "Rclone для синхронизации файлов с хранилищем S3 — База знаний Timeweb Cloud"
description: "Ознакомьтесь с документацией Rclone — утилиты командной строки для синхронизации файлов и каталогов между локальной машиной и облачным хранилищем."
---

> Полный индекс документации для ИИ-агентов: [llms.txt](https://timeweb.cloud/llms.txt).

Rclone — утилита командной строки для синхронизации файлов и каталогов между локальной машиной и облачным хранилищем.

## Установка rclone

Дистрибутивы программы для разных архитектур и ОС можно скачать с [сайта разработчика](https://rclone.org/downloads/). Инструкции по установке также есть на [официальном сайте](https://rclone.org/install/).

Для Windows достаточно скачать и запустить `rclone.exe` через [командную строку](https://timeweb.cloud/docs/general/komandnaya-stroka-v-raznyh-os).

## Настройка rclone

Для настройки `rclone` для работы с нашим объектным хранилищем S3 необходимо создать в каталоге `.config/rclone` в корне домашней директории файл `rclone.conf` со следующим содержимым:

```shell
[timeweb-cloud]
type = s3
provider = Other
env_auth = false
access_key_id = <S3 Access Key>
secret_access_key = <S3 Secret Access Key>
endpoint = https://s3.twcstorage.ru
```

Значения S3 Access Key и S3 Secret Access Key можно найти во вкладке «Дашборд» в панели управления бакетом.

![Selection 252](https://content.timeweb.com/assets/741bcb75-7c3d-4c57-ad37-a4e65df86757.png?width=1012&height=939)

Либо можно воспользоваться мастером настройки, который сформирует аналогичный файл.

Для запуска мастера настройки в Linux и macOS выполните команду:

```shell
rclone config
```

Для запуска в Windows используйте:

```shell
.\rclone.exe config
```

Пример выполнения настройки через мастер:

Нажмите `n` для создания новой конфигурации. Укажите имя конфигурации, по которому в дальнейшем будет выполняться обращение к кластеру:

```shell
No remotes found - make a new one
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n
name> timeweb-cloud
```

Укажите номер, соответствующий значению «Amazon S3 Compliant Storage Provider». В данном случае — 4:

```shell
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
 1 / 1Fichier
   \ "fichier"
 2 / Alias for an existing remote
   \ "alias"
 3 / Amazon Drive
   \ "amazon cloud drive"
 4 / Amazon S3 Compliant Storage Provider (AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Minio, etc)
   \ "s3"
...
30 / Yandex Disk
   \ "yandex"
31 / http Connection
   \ "http"
32 / premiumize.me
   \ "premiumizeme"
Storage> 4
```

Выберите номер, соответствующий «Any other S3 compatible provider». В данном случае — 13:

```shell
Choose your S3 provider.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
 1 / Amazon Web Services (AWS) S3
   \ "AWS"
 2 / Alibaba Cloud Object Storage System (OSS) formerly Aliyun
   \ "Alibaba"
 3 / Ceph Object Storage
   \ "Ceph"
...
11 / Tencent Cloud Object Storage (COS)
   \ "TencentCOS"
12 / Wasabi Object Storage
   \ "Wasabi"
13 / Any other S3 compatible provider
   \ "Other"
provider> 13
```

Укажите значение `false` для ручной настройки данных подключения:

```shell
Only applies if access_key_id and secret_access_key is blank.
Enter a boolean value (true or false). Press Enter for the default ("false").
Choose a number from below, or type in your own value
 1 / Enter AWS credentials in the next step
   \ "false"
 2 / Get AWS credentials from the environment (env vars or IAM)
   \ "true"
env_auth> false
```

Вместо `<S3 Access Key>` укажите значение S3 Access Key из панели управления:

```shell
AWS Access Key ID.
Leave blank for anonymous access or runtime credentials.
Enter a string value. Press Enter for the default ("").
access_key_id> <S3 Access Key>
```

Вместо `<S3 Secret Access Key>` укажите значение S3 Secret Access Key из панели управления:

```shell
AWS Secret Access Key (password)
Leave blank for anonymous access or runtime credentials.
Enter a string value. Press Enter for the default ("").
secret_access_key> <S3 Secret Access Key>
```

Укажите `ru-1`:

```shell
Region to connect to.
Leave blank if you are using an S3 clone and you don't have a region.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
 1 / Use this if unsure. Will use v4 signatures and an empty region.
   \ ""
 2 / Use this only if v4 signatures don't work, eg pre Jewel/v10 CEPH.
   \ "other-v2-signature"
region> ru-1
```

В качестве эндпоинта укажите `https://s3.twcstorage.ru`:

```shell
Endpoint for S3 API.
Required when using an S3 clone.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
endpoint> https://s3.twcstorage.ru
```

Нажмите «Enter»:

```shell
Location constraint - must be set to match the Region.
Leave blank if not sure. Used when creating buckets only.
Enter a string value. Press Enter for the default ("").
location_constraint>
```

Нажмите «Enter»:

```shell
Canned ACL used when creating buckets and storing or copying objects.
This ACL is used for creating objects and if bucket_acl isn't set, for creating buckets too.
For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
Note that this ACL is applied when server side copying objects as S3
doesn't copy the ACL from the source but rather writes a fresh one.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
 1 / Owner gets FULL_CONTROL. No one else has access rights (default).
   \ "private"
 2 / Owner gets FULL_CONTROL. The AllUsers group gets READ access.
   \ "public-read"
   / Owner gets FULL_CONTROL. The AllUsers group gets READ and WRITE access.
 3 | Granting this on a bucket is generally not recommended.
   \ "public-read-write"
 4 / Owner gets FULL_CONTROL. The AuthenticatedUsers group gets READ access.
   \ "authenticated-read"
   / Object owner gets FULL_CONTROL. Bucket owner gets READ access.
 5 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it.
   \ "bucket-owner-read"
   / Both the object owner and the bucket owner get FULL_CONTROL over the object.
 6 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it.
   \ "bucket-owner-full-control"
acl>
```

Укажите `n`, чтобы не редактировать конфигурацию:

```shell
Edit advanced config? (y/n)
y) Yes
n) No
y/n> n
```

Проверьте конфигурацию и подтвердите, что все хорошо, нажав `y`:

```shell
Remote config
--------------------
[timeweb-cloud]
provider = Other
env_auth = false
access_key_id = <S3 Access Key>
secret_access_key = <S3 Secret Access Key>
region = ru-1
endpoint = https://s3.twcstorage.ru
--------------------

y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y
```

Нажмите `q` для выхода из мастера настройки:

```shell
Current remotes:

Name          	Type
====          	====
timeweb-cloud 	s3

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> q
```

> [!NOTE]
> Если при настройке через мастер возникнет ошибка, попробуйте выполнить настройку заново, но без указания региона (ru-1).

## Команды для работы с хранилищем

Полный список поддерживаемых команд смотрите в [документации rclone](https://rclone.org/commands/).

В качестве хоста указывается имя хранилища, заданное в конфигурационном файле `rclone.conf`. Так, [в нашем примере](https://timeweb.cloud/docs/s3-storage/tools/rclone#nastrojka-rclone) в начале статьи было настроено хранилище с именем `timeweb-cloud`.

### Просмотр списка бакетов

```shell
rclone lsd <имя хоста>:
```

Например:

```shell
rclone lsd timeweb-cloud:
       -1 2021-12-10 11:34:51     -1 1d65c254-17ab-4b22-b262-1111fc006937
       -1 2022-01-13 10:05:47     -1 3b24945b-d373-4713-89ec-3dece346c7b3
       -1 2022-01-14 12:31:36     -1 bbf30ad7-8872-40fc-8d41-54537d894b7f
```

### Получение списка файлов в бакете

```shell
rclone ls <имя хоста>:<имя бакета>
```

Например:

```shell
rclone ls timeweb-cloud:3b24945b-d373-4713-89ec-3dece346c7b3
    13 test.txt
    13 test1.txt
```

### **Загрузка файла в бакет**

```shell
rclone -P copy <имя файла> <имя хоста>:<имя бакета>
```

Например:

```shell
rclone -P copy test5.txt timeweb-cloud:3b24945b-d373-4713-89ec-3dece346c7b3
```

### Удаление файла в бакете

```shell
rclone delete <имя хоста>:<имя бакета>/<имя файла>
```

Например:

```shell
rclone delete timeweb-cloud:3b24945b-d373-4713-89ec-3dece346c7b3/test5.txt
```

### Копирование файлов из бакета в бакет

```shell
rclone copyto -vP --log-file=rclone_<имя отдающего бакета>.log --transfers=256 <имя отдающего хоста>:<имя отдающего бакета> <имя принимающего хоста>:<имя принимающего бакета>
```

### Синхронизация файлов между бакетом и локальной директорией

```shell
rclone -P sync timeweb-cloud:3b24945b-d373-4713-89ec-3dece346c7b3 /root/test
```

Для синхронизации в обратном направлении поменяйте аргументы местами.
