本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
如何使用脚本
运行脚本的一个简单示例是命令:
python3 influx_migration.py --src-host <source host> --src-bucket <source bucket> --dest-host <destination host>
它会迁移单个存储桶。
可以通过运行以下命令查看所有选项:
python3 influx_migration.py -h
用法
shell influx_migration.py [-h] [--src-bucket SRC_BUCKET] [--dest-bucket DEST_BUCKET] [--src-host SRC_HOST] --dest-host DEST_HOST [--full] [--confirm-full] [--src-org SRC_ORG] [--dest-org DEST_ORG] [--csv] [--retry-restore-dir RETRY_RESTORE_DIR] [--dir-name DIR_NAME] [--log-level LOG_LEVEL] [--skip-verify] [--s3-bucket S3_BUCKET]
Options
-confirm-full(可选):使用
--full
不带--csv
会将目标数据库中的所有令牌、用户、存储桶、仪表板和任何其他键值数据替换为源数据库中的令牌、用户、存储桶、仪表板和任何其他键值数据。--full
wit--csv
h 仅迁移所有存储桶和存储桶元数据,包括存储桶组织。此选项 (--confirm-full
) 将确认完全迁移,无需用户输入即可继续迁移。如果未提供此选项,且--full
已提供--csv
但未提供,则脚本将暂停执行并等待用户确认。这是一项关键操作,请谨慎行事。默认值为 false。-csv(可选):是否使用 csv 文件进行备份和恢复。如果也通过,
--full
则所有组织中所有用户定义的存储桶都将被迁移,而不是系统存储桶、用户、令牌或仪表板。如果目标服务器中的所有存储桶都需要一个单一的组织,而不是其已经存在的源组织,请使用。--dest-org
-dest-bucket DEST _ BUCKET(可选):目标服务器中 InfluxDB 存储桶的名称不得是已经存在的存储桶。
None
如果--src-bucket
未提供,则默认为--src-bucket
或的值。-dest-host DEST _ HOST:目标服务器的主机。示例:http://localhost:8086。
-dest-org DEST _ ORG(可选):目标服务器中要将存储桶还原到的组织名称。如果省略此选项,则源服务器上所有迁移的存储分区都将保留其原始组织,并且如果不创建和切换组织,则迁移的存储分区可能无法在目标服务器中看到。此值将用于所有形式的恢复,无论是单个存储桶、完整迁移还是任何使用 csv 文件进行备份和还原的迁移。
-dir-name DIR _ NAME(可选):要创建的备份目录的名称。默认值为
influxdb-backup-<timestamp>
。一定不存在。-full(可选):是否执行完全恢复,将目标服务器上的所有数据替换为来自所有组织的源服务器的所有数据,包括所有键值数据,例如令牌、仪表板、用户等。覆盖
--src-bucket
和。--dest-bucket
如果与一起使用--csv
,则仅迁移存储桶的数据和元数据。默认值为 false。h,--help:显示帮助消息并退出。
-loglevel LOG _ LEVEL(可选):执行期间要使用的日志级别。选项包括调试、错误和信息。默认为信息。
-retry-restore-dir RETRY _ RESTORE _ DIR(可选):上一次还原失败时用于还原的目录,将跳过备份和目录创建,如果该目录不存在将失败,可以是 S3 存储桶中的一个目录。如果恢复失败,则可以用于恢复的备份目录路径将显示为相对于当前目录的路径。S3 存储桶将采用表单
influxdb-backups/<s3 bucket>/<backup directory>
。默认备份目录名称为influxdb-backup-<timestamp>
。-s3-bucket S3_ BUCKET(可选):用于存储备份文件的 S3 存储桶的名称。在 Linux 上,这只是 S3 存储桶的名称
my-bucket
,例如,给定AWS_ACCESS_KEY_ID
且AWS_SECRET_ACCESS_KEY
环境变量已设置或${HOME}/.aws/credentials
存在。在 Windows 上,这是rclone
配置的远程和存储桶名称,例如my-remote:my-bucket
。迁移后,所有备份文件都将保留在 S3 存储桶中的已创建influxdb-backups-<timestamp>
目录中。influx-backups
将在运行此脚本的目录中创建一个名为的临时装载目录。如果未提供,则所有备份文件都将存储在本地运行此脚本的已创建influxdb-backups-<timestamp>
目录中。-skip-verify(可选):跳过TLS证书验证。
-src-bucket SRC _ BUCKET(可选):源服务器中 InfluxDB 存储桶的名称。如果未提供,则
--full
必须提供。-src-host SRC _ HOST(可选):源服务器的主机。默认为 http://localhost:8086。
如前所述,如果--s3-bucket
要使用,rclone
则需要使用mountpoint-s3
和,但如果用户未提供值,则可以忽略该值--s3-bucket
,在这种情况下,备份文件将存储在本地唯一的目录中。