Skip to main content

Command Reference

sake​

sake is a task runner for local and remote hosts

Synopsis​

sake is a task runner for local and remote hosts.

You define servers and tasks in a sake.yaml config file and then run the tasks on the servers.

Options​

-c, --config string specify config
-u, --user-config string specify user config
--ssh-config string specify ssh config
--no-color disable color
-h, --help help for sake

check​

Validate config

Synopsis​

Validate config.

check [flags]

Examples​

# Validate config
sake check

Options​

-h, --help help for check

run​

Run tasks

Synopsis​

Run tasks specified in a sake.yaml file.

run <task> [flags]

Examples​

# Run task <task> for all servers
sake run <task> --all

# Run task <task> for servers <server>
sake run <task> --servers <server>

# Run task <task> for all servers that have tags <tag>
sake run <task> --tags <tag>

Options​

--dry-run print the task to see what will be executed
--describe print task information
--list-hosts print hosts that will be targetted
-V, --verbose enable all diagnostics
-S, --strategy string set execution strategy [linear|host_pinned|free]
-f, --forks uint32 max number of concurrent processes (default 10000)
-b, --batch uint32 set number of hosts to run in parallel
-B, --batch-p uint8 set percentage of hosts to run in parallel [0-100]
-a, --all target all hosts
-v, --invert invert matching on hosts
-r, --regex string target hosts on host regex
-s, --servers strings target servers by names
-t, --tags strings target hosts by tags
-T, --target string target hosts by target name
--order string order hosts
-l, --limit uint32 set limit of servers to target
-L, --limit-p uint8 set percentage of servers to target [0-100]
--ignore-unreachable ignore unreachable hosts
-M, --max-fail-percentage uint8 stop task execution on all servers when threshold reached
--any-errors-fatal stop task execution on all servers on error
--ignore-errors continue task execution on errors
-J, --spec string set spec
-o, --output string set task output [text|table|table-2|table-3|table-4|html|markdown|json|csv|none]
-p, --print string set print [all|stdout|stderr]
--omit-empty-rows omit empty row for table output
--omit-empty-columns omit empty column for table output
-q, --silent omit showing loader when running tasks
--confirm confirm root task before running
--step confirm each task before running
--tty replace the current process
--attach ssh to server after command
--local run task on localhost
--theme string set theme (default "default")
-e, --edit edit task
-R, --report strings reports to show (default [recap])
-i, --identity-file string set identity file
-U, --user string set ssh user
--password string set ssh password
--known-hosts-file string set known hosts file
-h, --help help for run

exec​

Execute arbitrary commands

Synopsis​

Execute arbitrary commands.

Single quote your command if you don't want the file globbing and environments variables expansion to take place before the command gets executed in each directory.

exec <command> [flags]

Examples​

# List files in all servers
sake exec --all ls

# List git files that have markdown suffix for all servers
sake exec --all 'git ls-files | grep -e ".md"'

Options​

--dry-run prints the command to see what will be executed
--describe print task information
--list-hosts print hosts that will be targetted
-V, --verbose enable all diagnostics
-S, --strategy string set execution strategy [linear|host_pinned|free]
-f, --forks uint32 max number of concurrent processes (default 10000)
-b, --batch uint32 set number of hosts to run in parallel
-B, --batch-p uint8 set percentage of servers to run in parallel [0-100]
-a, --all target all servers
-v, --invert invert matching on servers
-r, --regex string filter servers on host regex
-s, --servers strings target servers by names
-t, --tags strings target servers by tags
-T, --target string target servers by target name
--order string order hosts
-l, --limit uint32 set limit of servers to target
-L, --limit-p uint8 set percentage of servers to target
--ignore-unreachable ignore unreachable hosts
-M, --max-fail-percentage uint8 stop task execution on all servers when threshold reached
--any-errors-fatal stop task execution on all servers on error
--ignore-errors continue task execution on errors
-J, --spec string set spec
-o, --output string set task output [text|table|table-2|table-3|table-4|html|markdown|json|csv|none]
-p, --print string set print [all|stdout|stderr]
--omit-empty-rows omit empty row for table output
--omit-empty-columns omit empty column for table output
-q, --silent omit showing loader when running tasks
--confirm confirm root task before running
--step confirm each task before running
--tty replace the current process
--attach ssh to server after command
--local run command on localhost
--theme string set theme (default "default")
-R, --report strings reports to show (default [recap])
-i, --identity-file string set identity file for all servers
-U, --user string set ssh user
--password string set ssh password for all servers
--known-hosts-file string set known hosts file
-h, --help help for exec

init​

Initialize sake in the current directory

Synopsis​

Initialize sake in the current directory.

init [flags]

Examples​

# Basic example
sake init

Options​

-h, --help help for init

edit​

Open up sake config file in $EDITOR

Synopsis​

Open up sake config file in $EDITOR.

edit [flags]

Examples​

# Edit current context
sake edit

Options​

-h, --help help for edit

edit server​

Edit server

Synopsis​

Open up sake config file in $EDITOR and go to servers section.

edit server [server] [flags]

Examples​

# Edit servers
sake edit server

# Edit server <server>
sake edit server <server>

Options​

-h, --help help for server

edit spec​

Edit spec

Synopsis​

Open up sake config file in $EDITOR and go to specs section.

edit spec [spec] [flags]

Examples​

# Edit specs
sake edit spec

# Edit spec <spec>
sake edit spec <spec>

Options​

-h, --help help for spec

edit target​

Edit target

Synopsis​

Open up sake config file in $EDITOR and go to targets section.

edit target [target] [flags]

Examples​

# Edit targets
sake edit target

# Edit target <target>
sake edit target <target>

Options​

-h, --help help for target

edit task​

Edit task

Synopsis​

Open up sake config file in $EDITOR and go to tasks section.

edit task [task] [flags]

Examples​

# Edit tasks
sake edit task

# Edit task <task>
sake edit task <task>

Options​

-h, --help help for task

list servers​

List servers

Synopsis​

List servers.

list servers [servers] [flags]

Examples​

# List all servers
sake list servers

# List servers <server>
sake list servers <server>

# List servers that have tag <tag>
sake list servers --tags <tag>

Options​

-v, --invert invert matching on servers
-r, --regex string filter servers on host regex
-t, --tags strings filter servers by tags
-H, --all-headers select all server headers
--headers strings set headers (default [server,host,tags,desc])
-h, --help help for servers

Options inherited from parent commands​

-o, --output string set table output [table|table-2|table-3|table-4|html|markdown|json|csv] (default "table")
--theme string set theme (default "default")

list tasks​

List tasks

Synopsis​

List tasks.

list tasks [tasks] [flags]

Examples​

# List all tasks
sake list tasks

# List task <task>
sake list task <task>

Options​

-H, --all-headers select all task headers
--headers strings set headers (default [task,desc])
-h, --help help for tasks

Options inherited from parent commands​

-o, --output string set table output [table|table-2|table-3|table-4|html|markdown|json|csv] (default "table")
--theme string set theme (default "default")

list tags​

List tags

Synopsis​

List tags.

list tags [tags] [flags]

Examples​

# List all tags
sake list tags

Options​

--headers strings set headers (default [tag,server])
-h, --help help for tags

Options inherited from parent commands​

-o, --output string set table output [table|table-2|table-3|table-4|html|markdown|json|csv] (default "table")
--theme string set theme (default "default")

list targets​

List targets

Synopsis​

List targets.

list targets [targets] [flags]

Examples​

# List all targets
sake list targets

Options​

--headers strings set headers. Available headers: name, regex (default [target,desc,all,servers,tags,regex,invert,limit,limit_p])
-h, --help help for targets

Options inherited from parent commands​

-o, --output string set table output [table|table-2|table-3|table-4|html|markdown|json|csv] (default "table")
--theme string set theme (default "default")

list specs​

List specs

Synopsis​

List specs.

list specs [specs] [flags]

Examples​

# List all specs
sake list specs

Options​

--headers strings set headers (default [spec,desc,describe,list_hosts,order,silent,hidden,strategy,batch,batch_p,forks,output,print,any_errors_fatal,max_fail_percentage,ignore_errors,ignore_unreachable,omit_empty,report,verbose,confirm,step])
-h, --help help for specs

Options inherited from parent commands​

-o, --output string set table output [table|table-2|table-3|table-4|html|markdown|json|csv] (default "table")
--theme string set theme (default "default")

describe servers​

Describe servers

Synopsis​

Describe servers.

describe servers [servers] [flags]

Examples​

# Describe all servers
sake describe servers

# Describe servers that have tag <tag>
sake describe servers --tags <tag>

Options​

-t, --tags strings filter servers by their tag
-r, --regex string filter servers on host regex
-v, --invert invert matching on servers
-e, --edit edit server
-h, --help help for servers

describe tasks​

Describe tasks

Synopsis​

Describe tasks.

describe tasks [tasks] [flags]

Examples​

# Describe all tasks
sake describe tasks

# Describe task <task>
sake describe task <task>

Options​

-e, --edit edit task
-h, --help help for tasks

describe targets​

Describe targets

Synopsis​

Describe targets.

describe targets [targets] [flags]

Examples​

# Describe all targets
sake describe targets

Options​

-e, --edit edit target
-h, --help help for targets

describe specs​

Describe specs

Synopsis​

Describe specs.

describe specs [specs] [flags]

Examples​

# Describe all specs
sake describe specs

Options​

-e, --edit edit spec
-h, --help help for specs

ssh​

ssh to server

Synopsis​

ssh to server.

ssh <server> [flags]

Examples​

# ssh to server
sake ssh <server>

Options​

-i, --identity-file string set identity file for all servers
--password string set ssh password for all servers
-h, --help help for ssh

gen​

Generate man page

Synopsis​

Generate man page

gen [flags]

Options​

-d, --dir string directory to save manpage to (default "./")
-h, --help help for gen