3.2.5. Remote execution tutorial

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


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

Targets can be explicitly specified in a list:

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

Or Multiple target types can be combined in one command:

salt -C 'G@os:Ubuntu and webser* or E@database.*' 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' 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.

These docs are for Salt's development version: 11087e2.

Docs for previous releases are available on readthedocs.org.

Latest Salt release: 2014.7.5

Try the shiny new release candidate of Salt, - v2015.2.0rc2! More info - here.

Table Of Contents

Previous topic

3.2.4. Using cron with Salt

Next topic

3.2.6. Pillar Walkthrough

SaltStack training

Now offering remote attendee training!