4.8 KiB
Remote Tasks
Rsync
Executes rsync in a flexible manner.
$this->taskRsync()
->fromPath('src/')
->toHost('localhost')
->toUser('dev')
->toPath('/var/www/html/app/')
->remoteShell('ssh -i public_key')
->recursive()
->excludeVcs()
->checksum()
->wholeFile()
->verbose()
->progress()
->humanReadable()
->stats()
->run();
You could also clone the task and do a dry-run first:
$rsync = $this->taskRsync()
->fromPath('src/')
->toPath('example.com:/var/www/html/app/')
->archive()
->excludeVcs()
->progress()
->stats();
$dryRun = clone $rsync;
$dryRun->dryRun()->run();
if ('y' === $this->ask('Do you want to run (y/n)')) {
$rsync->run();
}
-
fromUser(string $user) -
fromHost(string $hostname) -
toUser(string $user) -
toHost(string $hostname) -
fromPath($path)This can either be a full rsync path spec (user@host:path) or just a path. -
toPath($path)This can either be a full rsync path spec (user@host:path) or just a path. -
fromUser($fromUser)*param string$fromUser -
fromHost($fromHost)*param string$fromHost -
toUser($toUser)*param string$toUser -
toHost($toHost)*param string$toHost -
progress()*return$this -
stats()*return$this -
recursive()*return$this -
verbose()*return$this -
checksum()*return$this -
archive()*return$this -
compress()*return$this -
owner()*return$this -
group()*return$this -
times()*return$this -
delete()*return$this -
timeout($seconds)*param int$seconds -
humanReadable()*return$this -
wholeFile()*return$this -
dryRun()*return$this -
itemizeChanges()*return$this -
excludeVcs()Excludes .git, .svn and .hg items at any depth. -
exclude($pattern)*param array|string$pattern -
excludeFrom($file)*param string$file -
includeFilter($pattern)*param array|string$pattern -
filter($pattern)*param array|string$pattern -
filesFrom($file)*param string$file -
remoteShell($command)*param string$command -
dir($dir)Changes working directory of command -
printed($arg)Should command output be printed -
arg($arg)Pass argument to executable. Its value will be automatically escaped. -
args($args)Pass methods parameters as arguments to executable. Argument values -
rawArg($arg)Pass the provided string in its raw (as provided) form as an argument to executable. -
option($option, $value = null)Pass option to executable. Options are prefixed with--, value can be provided in second parameter. -
optionList($option, $value = null)Pass multiple options to executable. Value can be a string or array.
Ssh
Runs multiple commands on a remote server. Per default, commands are combined with &&, unless stopOnFail is false.
<?php
$this->taskSshExec('remote.example.com', 'user')
->remoteDir('/var/www/html')
->exec('ls -la')
->exec('chmod g+x logs')
->run();
You can even exec other tasks (which implement CommandInterface):
$gitTask = $this->taskGitStack()
->checkout('master')
->pull();
$this->taskSshExec('remote.example.com')
->remoteDir('/var/www/html/site')
->exec($gitTask)
->run();
You can configure the remote directory for all future calls:
::configure('remoteDir', '/some-dir');
-
$this stopOnFail(bool $stopOnFail)Whether or not to chain commands together with && and stop the chain if one command fails -
$this remoteDir(string $remoteWorkingDirectory)Changes to the given directory before running commands -
hostname($hostname)*param string$hostname -
user($user)*param string$user -
stopOnFail($stopOnFail = null)*param bool$stopOnFail -
remoteDir($remoteDir)*param string$remoteDir -
identityFile($filename)*param string$filename -
port($port)*param int$port -
forcePseudoTty()*return$this -
quiet()*return$this -
verbose()*return$this -
exec($command)*param string|string[]|CommandInterface$command -
simulate($context){@inheritdoc} -
dir($dir)Changes working directory of command -
printed($arg)Should command output be printed -
arg($arg)Pass argument to executable. Its value will be automatically escaped. -
args($args)Pass methods parameters as arguments to executable. Argument values -
rawArg($arg)Pass the provided string in its raw (as provided) form as an argument to executable. -
option($option, $value = null)Pass option to executable. Options are prefixed with--, value can be provided in second parameter. -
optionList($option, $value = null)Pass multiple options to executable. Value can be a string or array.