influx CLI修改数据保存策略时间
第一步:下载influx CLI
Download the influx CLI package.
https://docs.influxdata.com/influxdb/v2/tools/influx-cli/?t=Windows
第二步:设置influx CLI
F:\tools\influxdb2-client-2.7.5-windows-amd64> influx config create --config-name config --host-url http://localhost:8086 --org myorg --token 34j18h5hZFVE27FinsZ9rQVBka62EnnmEHL_6Lp0rzQ_IHgZavMthFAKgVrA05RsHXNQO0Ozlr3lF3ubDoCT4Q== --active
第三步:修改保留策略时间
-- 列出所有的buckets
influx bucket list
F:\tools\influxdb2-client-2.7.5-windows-amd64>influx bucket list
ID Name Retention Shard group duration Organization ID Schema Type
069af8ca95cb6687 smaple infinite 168h0m0s a17eb7759879d6e0 implicit
-- 修改保留策略为最近两年(730d)
influx bucket update --id <bucket-id> --retention 730d
例如:更新此bucket过期时间为365天
influx bucket update \
--id 4c9a0159cfb9186d \
--retention 365d \
--token your-auth-token
说明:
- 配置变更立即生效(对新数据)
一旦您运行了 influx bucket update -r,这个新的保留策略会立即应用到后续写入的数据。
所有新写入的数据将遵循新的过期规则。
🔹 例如:你把保留时间从 30d 改为 7d,那么从修改之后写入的所有数据,将在 7 天后过期。 - 旧数据的清理是异步进行的(延迟生效)
已存在的、超出新保留期限的数据不会马上被删除。
InfluxDB 有一个后台任务(Retention Enforcement Service),它会周期性地检查并删除过期的数据。
默认检查间隔:
每 30 分钟检查一次(由配置项 retention-check-interval = "30m" 控制)。
因此,最坏情况下,超出保留时间的数据可能最多再保留 30 分钟才会被清理。
扩展:influx CLI常用命令
管理buckets
-- 列出所有的buckets
influx bucket list
F:\tools\influxdb2-client-2.7.5-windows-amd64>influx bucket list
ID Name Retention Shard group duration Organization ID Schema Type
069af8ca95cb6687 smaple infinite 168h0m0s a17eb7759879d6e0 implicit
这里每一列代表的信息如下:
ID: Bucket 的唯一标识符。
Name: Bucket 名称。
Retention: 数据保留期限,infinite:永久。
Shard group duration: 分片组持续时间。
Organization ID: 组织 ID。
-- 创建一个新的bucket
influx bucket create -n new-bucket-name -r 7d -o your-org-name
-n 或 --name: 新 bucket 的名字。
-r 或 --retention: 数据保留时间,如 7d 表示 7 天。
-o 或 --org: 组织名。
管理org和user
-- 列出所有的组织
influx org list
-- 创建一个新组织
influx org create -n new-org-name
-- 列出所有的用户
influx user list
-- 创建一个新用户
influx user create -n new-user-name -p password -o your-org-name
查看和设置配置
-- 查看当前配置
influx config ls
-- 设置新的配置文件
influx config create -n my-config -u http://localhost:8086 -t my-token -o my-org
导入和导出数据
从文件导入数据
influx query -f import.flux
导出数据到文件
influx query 'from(bucket::"example-bucket") |> range(start: -1h)' >output.txt
其它命令
-- 显示帮助信息
influx query -h
-- 查看版本号
influx version
Influx CLI v2.7.5 (git: a79a2a1b825867421d320428538f76a4c90aa34c) build_date: 2024-04-16T14:35:09Z