예제 #1
0
파일: master.go 프로젝트: spicavigo/gomr
func (m *Master) scpFile(path string, dest string, destPath string) {

	sshConn := util.GetSSHConn(strings.Split(dest, ":")[0], m.Username, m.PEMFile)
	scpConn := goscplib.NewScp(sshConn)
	scpConn.PushFile(path, destPath)
	sshConn.Close()
}
예제 #2
0
파일: wassh.go 프로젝트: postfix/waSSH
func executeScp(res chan string, server string, src string, dest string) {
	conn, _ := Connect(server, *user, *pwd)
	scp := goscplib.NewScp(conn)
	fileSrc, srcErr := os.Open(src)
	if srcErr != nil {
		fmt.Println("Failed to open source file: " + srcErr.Error())
	}
	//Check if src is a dir
	srcStat, statErr := fileSrc.Stat()
	if statErr != nil {
		fmt.Println("Failed to stat file: " + statErr.Error())
	}
	if srcStat.IsDir() {
		scp.PushDir(src, dest)
	} else {
		scp.PushFile(src, dest)
	}
	if res != nil {
		res <- "\033[1m\033[92m" + server + ":\033[0m \n scp " + src + " to " + dest + "\n"
	}
}