AGENT-SSH

Allows connecting to other hosts via SSH to run shell commands.

Specifying a list of agent-id’s, this command allows users to SSH into remote MemSQL Ops agent hosts to run commands. The SSH credentials used in this command are the same credentials used to deploy the MemSQL Ops agent into that host, or the credential

memsql-ops agent-ssh --multi --agent-ids $(memsql-ops agent-list -q) -- 'ls -lathr'

This command will connect via SSH into each of the hosts that have an agent deployed (including the local host), and list the files in the home directory.

If MemSQL Ops does not have stored credentials for the local host, it will attempt to use one of the defined SSH access credentials of its follower agent hosts. It is recommended to set the SSH credential for the primary agent host manually first.

Usage

usage: memsql-ops agent-ssh [--settings-file SETTINGS_FILE]
                            [--agent-ids AGENT_IDS [AGENT_IDS ...]]
                            [--memsql-role {leaf,aggregator,master} [{leaf,aggregator,master} ...]]
                            [--no-prompt] [-u USER] [-P PORT] [-i PRIVATE_KEY]
                            [-p [PASSWORD]] [--multi]
                            [--num-parallel NUM_PARALLEL]
                            [command]

Open SSH connections to agents.

positional arguments:
  command               An optional command to run. If specified, run the
                        command instead of a shell and exit on completion.

optional arguments:
  --settings-file SETTINGS_FILE
                        A path to a MemSQL Ops settings.conf file. If not set,
                        we will use the file in the same directory as the
                        MemSQL Ops binary.
  --agent-ids AGENT_IDS [AGENT_IDS ...]
                        Filter the nodes by the specified agent IDs.
  --memsql-role {leaf,aggregator,master} [{leaf,aggregator,master} ...]
                        Filter the nodes by the specified MemSQL roles.
  --no-prompt           Skip interactive prompts if a single agent is
                        selected.
  -u USER, --user USER  Use this user for all SSH connections.
  -P PORT, --port PORT  Use this port for all SSH connections.
  -i PRIVATE_KEY, --private-key-file PRIVATE_KEY
                        Use this SSH key for all SSH connections.
  -p [PASSWORD], --password [PASSWORD]
                        Use this password for all SSH connections. Leave blank
                        to read the MEMSQL_PASSWORD environment variable, or
                        have a password prompt if MEMSQL_PASSWORD is not set.
  --multi               Run commands on multiple nodes in parallel.
  --num-parallel NUM_PARALLEL
                        The number of machines to run commands on in parallel
                        if --multi is specified. We will run commands on all
                        machines, but we will only run commands on this many
                        machines at the same time.
Was this article useful?