control.core documentation

call

(call host user cluster task & args)
Call other tasks in deftask,for example:
(call :ps "java")

defcluster

(defcluster name & args)
Define a cluster including some remote machines

deftask

(deftask name & decl)
Define a task for executing on remote machines:
(deftask :date "Get date from remote machines"
          (ssh "date"))

exists?

(exists? host user cluster file)
Check if a file exists

scp

(scp host user cluster local remote & opts)
Copy local files to remote machines:
(scp "test.txt" "remote.txt")
(scp ["1.txt" "2.txt"] "/home/deploy/")

ssh

(ssh host user cluster cmd & opts)
Execute commands via ssh:
(ssh "date")
(ssh "ps aux|grep java")