The `influx` command line interface (CLI) includes commands to manage many aspects of InfluxDB, including buckets, organizations, users, tasks, etc. {{% show-in "v2" %}} {{% note %}} #### InfluxDB OSS v2 and influx CLI versions Beginning with **InfluxDB 2.1**, the `influx` CLI is packaged and versioned separately from InfluxDB. InfluxDB and `influx` CLI versions may differ, but compatibility is noted for each command. {{% /note %}} {{% /show-in %}} - [Download and install the influx CLI](#download-and-install-the-influx-cli) - [Use Homebrew](#use-homebrew) - [Manually download and install](#manually-download-and-install) - [Download from your browser](#download-from-your-browser) - [Download from the command line](#download-from-the-command-line) - [Provide required authentication credentials](#provide-required-authentication-credentials) - [Credential precedence](#credential-precedence) - [Usage](#usage) - [Commands](#commands) - [Flags](#flags) - [Flag patterns and conventions](#flag-patterns-and-conventions) - [Mapped environment variables](#mapped-environment-variables) - [Shorthand and longhand flags](#shorthand-and-longhand-flags) - [Flag input types](#flag-input-types) - [string](#string) - [stringArray](#stringarray) - [integer](#integer) - [duration](#duration) ## Download and install the influx CLI {{< tabs-wrapper >}} {{% tabs %}} [macOS](#) [Linux](#) [Windows](#) {{% /tabs %}} {{% tab-content %}} Do one of the following: - [Use Homebrew](#use-homebrew) - [Manually download and install](#manually-download-and-install) ### Use Homebrew ```sh brew install influxdb-cli ``` {{% show-in "v2" %}} {{% note %}} If you used Homebrew to install **InfluxDB {{< current-version >}}**, the `influxdb-cli` formula was downloaded as a dependency and should already be installed. If installed, `influxdb-cli` will appear in the output of the following command: ```sh brew list | grep influxdb-cli ``` {{% /note %}} {{% /show-in %}} ### Manually download and install 1. **Download the `influx` CLI package.** influx CLI v{{< latest-patch cli=true >}} (macOS) 2. **Unpackage the downloaded package.** Do one of the following: - Double-click the downloaded package file in **Finder**. - Run the following command in a macOS command prompt application such **Terminal** or **[iTerm2](https://www.iterm2.com/)**: ```sh # Unpackage contents to the current working directory tar zxvf ~/Downloads/influxdb2-client-{{< latest-patch cli=true >}}-darwin-amd64.tar.gz ``` 3. **(Optional) Place the binary in your `$PATH`.** ```sh # (Optional) Copy the influx binary to your $PATH sudo cp ~/Downloads/influxdb2-client-{{< latest-patch cli=true >}}-darwin-amd64/influx /usr/local/bin/ ``` If you do not move the `influx` binary into your `$PATH`, prefix the executable `./` to run it in place. 4. **(macOS Catalina and newer) Authorize the `influx` binary.** macOS requires downloaded binaries to be signed by registered Apple developers. When you first attempt to run `influx`, macOS will prevent it from running. To authorize the `influx` binary: 1. Attempt to run an `influx` command. 2. Open **System Preferences** and click **Security & Privacy**. 3. Under the **General** tab, there is a message about `influx` being blocked. Click **Open Anyway**. {{% /tab-content %}} {{% tab-content %}} 1. **Download the influx CLI package.** Download the `influx` CLI package [from your browser](#download-from-your-browser) or [from the command line](#download-from-the-command-line). #### Download from your browser influx CLI v{{< latest-patch cli=true >}} (amd64) influx CLI v{{< latest-patch cli=true >}} (arm) #### Download from the command line ```bash # amd64 curl -O \ https://dl.influxdata.com/influxdb/releases/influxdb2-client-{{< latest-patch cli=true >}}-linux-amd64.tar.gz ``` ```bash # arm curl -O \ https://dl.influxdata.com/influxdb/releases/influxdb2-client-{{< latest-patch cli=true >}}-linux-arm64.tar.gz \ ``` 2. **Unpackage the downloaded package.** _**Note:** The following commands are examples. Adjust the filenames, paths, and utilities if necessary._ ```bash # amd64 tar xvzf influxdb2-client-{{< latest-patch cli=true >}}-linux-amd64.tar.gz ``` ```bash # arm tar xvzf influxdb2-client-{{< latest-patch cli=true >}}-linux-arm64.tar.gz ``` 3. **(Optional) Place the unpackaged `influx` executable in your system `$PATH`.** ```bash sudo cp ./influx /usr/local/bin/ ``` If you do not move the `influx` binary into your `$PATH`, prefix the executable `./` to run it in place. {{% /tab-content %}} {{% tab-content %}} {{% note %}} #### Use Powershell for Windows Use Powershell for running `influx` CLI commands. Command Prompt is not fully compatible. {{% /note %}} 1. **Download the `influx` CLI package.** influx CLI v{{< latest-patch cli=true >}} (Windows) 2. **Expand the downloaded archive.** Expand the downloaded archive into `C:\Program Files\InfluxData\` and rename it if desired. ```powershell > Expand-Archive .\influxdb2-client-{{< latest-patch cli=true >}}-windows-amd64.zip -DestinationPath 'C:\Program Files\InfluxData\' > mv 'C:\Program Files\InfluxData\influxdb2-client-{{< latest-patch cli=true >}}-windows-amd64' 'C:\Program Files\InfluxData\influx' ``` 3. **Grant network access to the `influx` CLI.** When using the `influx` CLI for the first time, **Windows Defender** displays the following message: > Windows Defender Firewall has blocked some features of this app. To grant the `influx` CLI the required access, do the following: 1. Select **Private networks, such as my home or work network**. 2. Click **Allow access**. {{% /tab-content %}} {{< /tabs-wrapper >}} ## Provide required authentication credentials To avoid having to pass your InfluxDB **host**, **API token**, and **organization** with each command, store them in an `influx` CLI configuration (config). `influx` commands that require these credentials automatically retrieve these credentials from the active config. Use the [`influx config create` command](/influxdb/version/reference/cli/influx/config/create/) to create an `influx` CLI config and set it as active: ```sh influx config create --config-name CONFIG_NAME \ --host-url http://localhost:8086 \ --org ORG_NAME \ --token API_TOKEN \ --active ``` For more information about managing CLI configurations, see the [`influx config` documentation](/influxdb/version/reference/cli/influx/config/). ### Credential precedence Provide credentials using any of the following supported methods. The `influx` CLI uses the following precedence when retrieving credentials: 1. Command line flags (`--host`, `--org -o`, `--token -t`) 2. Environment variables (`INFLUX_HOST`, `INFLUX_ORG`, `INFLUX_TOKEN`) 3. CLI configuration file Command line flags override environment variables, which override configuration file values. ## Usage ``` influx [flags] influx [command] ``` ## Commands | Command | Description | | :------------------------------------------------------------------ | :------------------------------------------------------------------------- | | [apply](/influxdb/version/reference/cli/influx/apply/) | Apply an InfluxDB template | | [auth](/influxdb/version/reference/cli/influx/auth/) | API token management commands | | [backup](/influxdb/version/reference/cli/influx/backup/) | Back up data _(InfluxDB OSS only)_ | | [bucket](/influxdb/version/reference/cli/influx/bucket/) | Bucket management commands | | [bucket-schema](/influxdb/version/reference/cli/influx/bucket-schema/) | Manage InfluxDB bucket schemas _(InfluxDB Cloud only)_ | | [completion](/influxdb/version/reference/cli/influx/completion/) | Generate completion scripts | | [config](/influxdb/version/reference/cli/influx/config/) | Configuration management commands | | [dashboards](/influxdb/version/reference/cli/influx/dashboards/) | List dashboards | | [delete](/influxdb/version/reference/cli/influx/delete/) | Delete points from InfluxDB | | [export](/influxdb/version/reference/cli/influx/export/) | Export resources as a template | | [help](/influxdb/version/reference/cli/influx/help/) | Help about any command | | [org](/influxdb/version/reference/cli/influx/org/) | Organization management commands | | [ping](/influxdb/version/reference/cli/influx/ping/) | Check the InfluxDB `/health` endpoint | | [query](/influxdb/version/reference/cli/influx/query/) | Execute a Flux query | | [restore](/influxdb/version/reference/cli/influx/restore/) | Restore backup data _(InfluxDB OSS only)_ | | [scripts](/influxdb/version/reference/cli/influx/scripts) | Scripts management commands _(InfluxDB Cloud only)_ | | [secret](/influxdb/version/reference/cli/influx/secret/) | Manage secrets | | [setup](/influxdb/version/reference/cli/influx/setup/) | Create default username, password, org, bucket, etc. _(InfluxDB OSS only)_ | | [stacks](/influxdb/version/reference/cli/influx/stacks/) | Manage InfluxDB stacks | | [task](/influxdb/version/reference/cli/influx/task/) | Task management commands | | [telegrafs](/influxdb/version/reference/cli/influx/telegrafs/) | Telegraf configuration management commands | | [template](/influxdb/version/reference/cli/influx/template/) | Summarize and validate an InfluxDB template | | [user](/influxdb/version/reference/cli/influx/user/) | User management commands | | [v1](/influxdb/version/reference/cli/influx/v1/) | Work with the v1 compatibility API | | [version](/influxdb/version/reference/cli/influx/version/) | Print the influx CLI version | | [write](/influxdb/version/reference/cli/influx/write/) | Write points to InfluxDB | ## Flags | Flag | | Description | |:---- |:--- |:----------- | | `-h` | `--help` | Help for the `influx` command | ### Flag patterns and conventions The `influx` CLI uses the following patterns and conventions: - [Mapped environment variables](#mapped-environment-variables) - [Shorthand and longhand flags](#shorthand-and-longhand-flags) - [Flag input types](#flag-input-types) #### Mapped environment variables `influx` CLI flags mapped to environment variables are listed in the **Mapped to** column of the Flags table in each command documentation. Mapped flags inherit the value of the environment variable. To override environment variables, set the flag explicitly in your command. {{< expand-wrapper >}} {{% expand "View mapped environment variables" %}} {{% note %}} Some `influx` CLI commands may not support all mapped environment variables. For more information about what mapped environment variables each command supports, see the command documentation. {{% /note %}} | Environment variable | Description | | :----------------------- | :-------------------------------------------------------------------- | | `INFLUX_ACTIVE_CONFIG` | CLI configuration to use for commands | | `INFLUX_BUCKET_ID` | Bucket ID | | `INFLUX_BUCKET_NAME` | Bucket name | | `INFLUX_CONFIGS_PATH` | Path to `influx` CLI configurations (default `~/.influxdbv2/configs`) | | `INFLUX_HIDE_HEADERS` | Hide table headers in command output (default `false`) | | `INFLUX_HOST` | HTTP address of InfluxDB (default `http://localhost:8086`) | | `INFLUX_NAME` | InfluxDB Username | | `INFLUX_ORG` | InfluxDB Organization name | | `INFLUX_ORG_DESCRIPTION` | Organization description | | `INFLUX_ORG_ID` | InfluxDB Organization ID | | `INFLUX_OUTPUT_JSON` | Return command output JSON | | `INFLUX_SKIP_VERIFY` | Skip TLS certificate verification | | `INFLUX_TOKEN` | InfluxDB API token | {{% /expand %}} {{< /expand-wrapper >}} #### Shorthand and longhand flags Many `influx` CLI flags support both shorthand and longhand forms. - **shorthand:** a shorthand flag begins with a single hyphen followed by a single letter (for example: `-c`). - **longhand:** a longhand flag starts with two hyphens followed by a multi-letter, hyphen-spaced flag name (for example: `--active-config`). Commands can use both shorthand and longhand flags in a single execution. #### Flag input types `influx` CLI flag input types are listed in each the table of flags for each command. Flags support the following input types: ##### string Text string, but the flag can be used **only once** per command execution. ##### stringArray Single text string, but the flag can be used **multiple times** per command execution. ##### integer Sequence of digits representing an integer value. ##### duration Length of time represented by an integer and a duration unit (`1ns`, `1us`, `1µs`, `1ms`, `1s`, `1m`, `1h`, `1d`, `1w`).