app\components\Folder::scpCopyFiles PHP Method

scpCopyFiles() public method

将多个文件/目录通过tar + scp传输到指定的多个目标机
public scpCopyFiles ( Project $project, Task $task ) : boolean
$project app\models\Project
$task app\models\Task
return boolean
    public function scpCopyFiles(Project $project, TaskModel $task)
    {
        // 1. 宿主机 tar 打包
        $this->_packageFiles($project, $task);
        // 2. 传输 tar.gz 文件
        foreach (Project::getHosts() as $remoteHost) {
            // 循环 scp 传输
            $this->_copyPackageToServer($remoteHost, $project, $task);
        }
        // 3. 目标机 tar 解压
        $this->_unpackageFiles($project, $task);
        return true;
    }