Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -133,8 +133,8 @@ Manticore versions:

| 参数 | 描述 |
|-|-|
| `--backup-dir=path` | 这是备份目录的路径,备份将存储在该目录中。目录必须已存在。此参数为必需且无默认值。每次备份运行时,manticore-backup 会在指定目录中创建一个带时间戳的子目录(`backup-[datetime]`),并将所有必需的表复制到该目录。因此,`--backup-dir` 是所有备份的容器,安全地多次运行该脚本。|
| `--restore[=backup]` | 从`--backup-dir`恢复。仅使用--restore会列出可用备份。`--restore=backup`将从`<--backup-dir>/backup`恢复。|
| `--backup-dir=path` | 备份目录路径,备份将在此处存储。该目录必须已经存在。此参数是必需的且没有默认值。每次运行备份时,`manticore-backup` 将在提供的目录中创建一个带有时间戳的子目录(`backup-[datetime]`),并将所有需要的表复制到其中。因此,`--backup-dir` 是所有备份的容器,并且可以安全地多次运行脚本。支持 S3 URL 格式 `s3://bucket/prefix` — 详情请参阅 [S3 存储支持](../Securing_and_compacting_a_table/Backup_and_restore.md#S3-storage-support)。|
| `--restore[=backup]` | 从 `--backup-dir` 恢复。仅 `--restore` 列出可用的备份。`--restore=backup` 将从 `<--backup-dir>/backup` 恢复。适用于本地路径和 S3 URL。|
| `--force` | 在恢复时跳过版本检查,并优雅地恢复备份。|
| `--disable-telemetry` | 如果您想禁用向 Manticore 发送匿名指标,请使用此标志。您也可以使用环境变量 TELEMETRY=0 |
| `--config=/path/to/manticore.conf` | Manticore 配置文件路径。可选。如果未提供,则使用操作系统的默认配置。用于确定与 Manticore 守护进程通信的主机和端口。`manticore-backup` 工具支持[动态配置](../Server_settings/Scripted_configuration.md)文件。如果配置分散在多个文件中,可多次指定`--config`选项。|
Expand All @@ -144,6 +144,65 @@ Manticore versions:
| `--version` | 显示当前版本。|
| `--help` | 显示此帮助信息。|


## S3 存储支持

`manticore-backup` 支持直接将备份存储到/从 S3 兼容存储中,包括 AWS S3、MinIO、Wasabi、Cloudflare R2 等。只需将 `s3://bucket/prefix` URL 作为 `--backup-dir` 传递。

### 配置

在运行 `manticore-backup` 之前设置以下环境变量:

| 变量 | 必需 | 描述 |
|----------|----------|-------------|
| `AWS_ACCESS_KEY_ID` | 是 | AWS 访问密钥(或 `AWS_ACCESS_KEY`) |
| `AWS_SECRET_ACCESS_KEY` | 是 | AWS 密钥(或 `AWS_SECRET_KEY`) |
| `AWS_REGION` | 否 | AWS 区域(默认:`us-east-1`) |
| `AWS_ENDPOINT_URL` | 否 | 自定义 S3 兼容端点 — **仅服务器 URL,不包含桶名**(例如,`http://localhost:9000`) |
| `AWS_S3_ENCRYPTION` | 否 | 启用 SSE-S3 服务器端加密(默认:对于 AWS S3 为 `1`;对于 MinIO、R2 或其他自定义端点设为 `0`)|

> ⚠️ `AWS_ENDPOINT_URL` 不应包含桶名。桶名将从 `s3://bucket/prefix` 参数中获取。在端点 URL 中包含桶名会导致每次请求中桶名被重复,并导致错误。
>
> ```
> # 错误 — 桶 "mybucket" 在 URL 路径中重复
> AWS_ENDPOINT_URL=https://account.r2.cloudflarestorage.com/mybucket
>
> # 正确 — 端点仅为服务器地址
> AWS_ENDPOINT_URL=https://account.r2.cloudflarestorage.com
> ```

### 使用示例

```bash
# Backup to AWS S3 (SSE-S3 encryption enabled by default)
export AWS_ACCESS_KEY_ID=your_key
export AWS_SECRET_ACCESS_KEY=your_secret
manticore-backup --backup-dir=s3://my-bucket/backups

# Restore from S3
manticore-backup --restore --backup-dir=s3://my-bucket/backups
manticore-backup --restore=backup-20221004171839 --backup-dir=s3://my-bucket/backups

# Use with MinIO (disable encryption)
export AWS_ACCESS_KEY_ID=minioadmin
export AWS_SECRET_ACCESS_KEY=minioadmin
export AWS_ENDPOINT_URL=http://localhost:9000
export AWS_S3_ENCRYPTION=0
manticore-backup --backup-dir=s3://my-bucket/backups

# Use with Cloudflare R2
export AWS_ACCESS_KEY_ID=your_r2_access_key
export AWS_SECRET_ACCESS_KEY=your_r2_secret_key
export AWS_ENDPOINT_URL=https://<account_id>.r2.cloudflarestorage.com
export AWS_REGION=auto
export AWS_S3_ENCRYPTION=0
manticore-backup --backup-dir=s3://my-bucket/backups
```

### 所需的 S3 权限

备份需要 `s3:PutObject`,恢复需要 `s3:GetObject`,列出可用的恢复点需要 `s3:ListBucket`。

## BACKUP SQL 命令参考

你也可以通过运行简单命令 `BACKUP TO /path/to/backup` 来备份数据。
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -133,8 +133,8 @@ Manticore versions:

| Argument | Description |
|-|-|
| `--backup-dir=path` | This is the path to the backup directory where the backup will be stored. The directory must already exist. This argument is required and has no default value. On each backup run, manticore-backup will create a subdirectory in the provided directory with a timestamp in the name (`backup-[datetime]`), and will copy all required tables to it. So the `--backup-dir` is a container for all your backups, and it's safe to run the script multiple times.|
| `--restore[=backup]` | Restore from `--backup-dir`. Just --restore lists available backups. `--restore=backup` will restore from `<--backup-dir>/backup`. |
| `--backup-dir=path` | Path to the backup directory where the backup will be stored. The directory must already exist. This argument is required and has no default value. On each backup run, `manticore-backup` will create a subdirectory in the provided directory with a timestamp in the name (`backup-[datetime]`), and will copy all required tables to it. So the `--backup-dir` is a container for all your backups, and it's safe to run the script multiple times. Supports S3 URLs in the format `s3://bucket/prefix` — see [S3 storage support](../Securing_and_compacting_a_table/Backup_and_restore.md#S3-storage-support) for details.|
| `--restore[=backup]` | Restore from `--backup-dir`. Just `--restore` lists available backups. `--restore=backup` will restore from `<--backup-dir>/backup`. Works with both local paths and S3 URLs. |
| `--force` | Skip versions check on restore and gracefully restore the backup. |
| `--disable-telemetry` | Pass this flag in case you want to disable sending anonymized metrics to Manticore. You can also use environment variable TELEMETRY=0 |
| `--config=/path/to/manticore.conf` | Path to the Manticore configuration. Optional. If not provided, a default configuration for your operating system will be used. Used to determine the host and port for communication with the Manticore daemon. The `manticore-backup` tool supports [dynamic configuration](../Server_settings/Scripted_configuration.md) files. You can specify the `--config` option multiple times if your configuration is spread across multiple files. |
Expand All @@ -144,6 +144,65 @@ Manticore versions:
| `--version` | Show the current version. |
| `--help` | Show this help. |


## S3 storage support

`manticore-backup` supports storing and restoring backups directly to/from S3-compatible storage, including AWS S3, MinIO, Wasabi, Cloudflare R2, and others. Simply pass an `s3://bucket/prefix` URL as `--backup-dir`.

### Configuration

Set the following environment variables before running `manticore-backup`:

| Variable | Required | Description |
|----------|----------|-------------|
| `AWS_ACCESS_KEY_ID` | Yes | AWS access key (or `AWS_ACCESS_KEY`) |
| `AWS_SECRET_ACCESS_KEY` | Yes | AWS secret key (or `AWS_SECRET_KEY`) |
| `AWS_REGION` | No | AWS region (default: `us-east-1`) |
| `AWS_ENDPOINT_URL` | No | Custom S3-compatible endpoint — **server URL only, no bucket name** (e.g., `http://localhost:9000`) |
| `AWS_S3_ENCRYPTION` | No | Enable SSE-S3 server-side encryption (default: `1` for AWS S3; set to `0` for MinIO, R2, or other custom endpoints) |

> ⚠️ `AWS_ENDPOINT_URL` must not include the bucket name. The bucket is taken from the `s3://bucket/prefix` argument. Including the bucket in the endpoint URL causes it to be doubled in every request and results in errors.
>
> ```
> # Wrong — bucket "mybucket" duplicated in URL path
> AWS_ENDPOINT_URL=https://account.r2.cloudflarestorage.com/mybucket
>
> # Correct — endpoint is the server only
> AWS_ENDPOINT_URL=https://account.r2.cloudflarestorage.com
> ```

### Usage examples

```bash
# Backup to AWS S3 (SSE-S3 encryption enabled by default)
export AWS_ACCESS_KEY_ID=your_key
export AWS_SECRET_ACCESS_KEY=your_secret
manticore-backup --backup-dir=s3://my-bucket/backups

# Restore from S3
manticore-backup --restore --backup-dir=s3://my-bucket/backups
manticore-backup --restore=backup-20221004171839 --backup-dir=s3://my-bucket/backups

# Use with MinIO (disable encryption)
export AWS_ACCESS_KEY_ID=minioadmin
export AWS_SECRET_ACCESS_KEY=minioadmin
export AWS_ENDPOINT_URL=http://localhost:9000
export AWS_S3_ENCRYPTION=0
manticore-backup --backup-dir=s3://my-bucket/backups

# Use with Cloudflare R2
export AWS_ACCESS_KEY_ID=your_r2_access_key
export AWS_SECRET_ACCESS_KEY=your_r2_secret_key
export AWS_ENDPOINT_URL=https://<account_id>.r2.cloudflarestorage.com
export AWS_REGION=auto
export AWS_S3_ENCRYPTION=0
manticore-backup --backup-dir=s3://my-bucket/backups
```

### Required S3 permissions

The backup requires `s3:PutObject`, restore requires `s3:GetObject`, and listing available restore points requires `s3:ListBucket`.

## BACKUP SQL command reference

You can also back up your data through SQL by running the simple command `BACKUP TO /path/to/backup`.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -133,8 +133,8 @@ Manticore versions:

| Argument | Описание |
|-|-|
| `--backup-dir=path` | Это путь к каталогу резервного копирования, где будет храниться резервная копия. Каталог должен уже существовать. Этот аргумент обязателен и не имеет значения по умолчанию. При каждом запуске резервного копирования manticore-backup создаст подкаталог в указанном каталоге с временной меткой в названии (`backup-[datetime]`) и скопирует в него все необходимые таблицы. Таким образом, `--backup-dir` является контейнером для всех ваших резервных копий, и безопасно запускать скрипт несколько раз.|
| `--restore[=backup]` | Восстановить из `--backup-dir`. Просто `--restore` выведет список доступных резервных копий. `--restore=backup` восстановит из `<--backup-dir>/backup`. |
| `--backup-dir=path` | Путь к директории резервного копирования, где будет храниться резервная копия. Директория должна уже существовать. Этот аргумент обязателен и не имеет значения по умолчанию. При каждом запуске резервного копирования `manticore-backup` создаст поддиректорию в указанной директории с меткой времени в имени (`backup-[дата-время]`) и скопирует в неё все необходимые таблицы. Таким образом, `--backup-dir` является контейнером для всех ваших резервных копий, и можно безопасно запускать скрипт несколько раз. Поддерживает URL-адреса S3 в формате `s3://bucket/prefix` — подробности см. в разделе [Поддержка хранилища S3](../Securing_and_compacting_a_table/Backup_and_restore.md#S3-storage-support).|
| `--restore[=backup]` | Восстановить из `--backup-dir`. Просто `--restore` выводит список доступных резервных копий. `--restore=backup` восстановит из `<--backup-dir>/backup`. Работает как с локальными путями, так и с URL-адресами S3. |
| `--force` | Пропустить проверку версий при восстановлении и выполнить восстановление без ошибок. |
| `--disable-telemetry` | Укажите этот флаг, если хотите отключить отправку анонимизированных метрик в Manticore. Можно также использовать переменную окружения TELEMETRY=0 |
| `--config=/path/to/manticore.conf` | Путь к конфигурационному файлу Manticore. Необязательно. Если не указан, будет использована конфигурация по умолчанию для вашей операционной системы. Используется для определения хоста и порта для связи с демоном Manticore. Инструмент `manticore-backup` поддерживает [динамические настройки](../Server_settings/Scripted_configuration.md). Можно указать опцию `--config` несколько раз, если конфигурация разбросана по нескольким файлам. |
Expand All @@ -144,6 +144,65 @@ Manticore versions:
| `--version` | Показать текущую версию. |
| `--help` | Показать эту справку. |


## Поддержка хранилища S3

`manticore-backup` поддерживает сохранение и восстановление резервных копий напрямую в/из S3-совместимого хранилища, включая AWS S3, MinIO, Wasabi, Cloudflare R2 и другие. Просто передайте URL-адрес `s3://bucket/prefix` в качестве `--backup-dir`.

### Конфигурация

Установите следующие переменные окружения перед запуском `manticore-backup`:

| Переменная | Обязательно | Описание |
|----------|----------|-------------|
| `AWS_ACCESS_KEY_ID` | Да | Ключ доступа AWS (или `AWS_ACCESS_KEY`) |
| `AWS_SECRET_ACCESS_KEY` | Да | Секретный ключ AWS (или `AWS_SECRET_KEY`) |
| `AWS_REGION` | Нет | Регион AWS (по умолчанию: `us-east-1`) |
| `AWS_ENDPOINT_URL` | Нет | Пользовательская S3-совместимая конечная точка — **только URL сервера, без имени бакета** (например, `http://localhost:9000`) |
| `AWS_S3_ENCRYPTION` | Нет | Включить шифрование на стороне сервера SSE-S3 (по умолчанию: `1` для AWS S3; установите `0` для MinIO, R2 или других пользовательских конечных точек) |

> ⚠️ `AWS_ENDPOINT_URL` не должен включать имя бакета. Бакет берётся из аргумента `s3://bucket/prefix`. Включение бакета в URL конечной точки приводит к его дублированию в каждом запросе и вызывает ошибки.
>
> ```
> # Неправильно — бакет "mybucket" продублирован в пути URL
> AWS_ENDPOINT_URL=https://account.r2.cloudflarestorage.com/mybucket
>
> # Правильно — конечная точка это только сервер
> AWS_ENDPOINT_URL=https://account.r2.cloudflarestorage.com
> ```

### Примеры использования

```bash
# Backup to AWS S3 (SSE-S3 encryption enabled by default)
export AWS_ACCESS_KEY_ID=your_key
export AWS_SECRET_ACCESS_KEY=your_secret
manticore-backup --backup-dir=s3://my-bucket/backups

# Restore from S3
manticore-backup --restore --backup-dir=s3://my-bucket/backups
manticore-backup --restore=backup-20221004171839 --backup-dir=s3://my-bucket/backups

# Use with MinIO (disable encryption)
export AWS_ACCESS_KEY_ID=minioadmin
export AWS_SECRET_ACCESS_KEY=minioadmin
export AWS_ENDPOINT_URL=http://localhost:9000
export AWS_S3_ENCRYPTION=0
manticore-backup --backup-dir=s3://my-bucket/backups

# Use with Cloudflare R2
export AWS_ACCESS_KEY_ID=your_r2_access_key
export AWS_SECRET_ACCESS_KEY=your_r2_secret_key
export AWS_ENDPOINT_URL=https://<account_id>.r2.cloudflarestorage.com
export AWS_REGION=auto
export AWS_S3_ENCRYPTION=0
manticore-backup --backup-dir=s3://my-bucket/backups
```

### Необходимые разрешения S3

Для резервного копирования требуется `s3:PutObject`, для восстановления — `s3:GetObject`, а для вывода списка доступных точек восстановления — `s3:ListBucket`.

## Команда SQL BACKUP

Вы также можете делать резервное копирование данных через SQL, выполнив простую команду `BACKUP TO /path/to/backup`.
Expand Down
Loading