Remote execution tutorial

### Navigation

- index
- modules |
- next |
- previous |
- « SaltStack.org |
- Documentation home

# Remote execution tutorial

Before continuing make sure you have a working Salt installation by following the installation and the configuration instructions.

Stuck?

There are many ways to get help from the Salt community including our mailing list and our IRC channel #salt.

## Order your minions around

Now that you have a master and at least one minion communicating with each other you can perform commands on the minion via the salt command. Salt calls are comprised of three main components:

    salt '<target>' <function> [arguments]

See also

salt manpage

### target

The target component allows you to filter which minions should run the following function. The default filter is a glob on the minion id. For example:

    salt '*' test.ping
    salt '*.example.org' test.ping

Targets can be based on minion system information using the Grains system:

    salt -G 'os:Ubuntu' test.ping

See also

Grains system

Targets can be filtered by regular expression:

    salt -E 'virtmach[0-9]' test.ping

Finally, targets can be explicitly specified in a list:

    salt -L foo,bar,baz,quo test.ping

### function

A function is some functionality provided by a module. Salt ships with a large collection of available functions. List all available functions on your minions:

    salt '*' sys.doc

Here are some examples:

Show all currently available minions:

    salt '*' test.ping

Run an arbitrary shell command:

    salt '*' cmd.run 'uname -a'

See also

the full list of modules

### arguments

Space-delimited arguments to the function:

    salt '*' cmd.exec_code python 'import sys; print sys.version'

Optional, keyword arguments are also supported:

    salt '*' pip.install salt timeout=5 upgrade=True

They are always in the form of `kwarg=argument`.

## Comments

comments powered by Disqus

### Navigation

- index
- modules |
- next |
- previous |
- « SaltStack.org |
- Documentation home