示例#1
0
def fileTransfer(src_host, src_path, dst_host, dst_path, direct=False, compressed=False):
	import hostserver
	if compressed:
		src = hostserver.randomFilename(src_host)
		dst = hostserver.randomFilename(dst_host)
		compress(src_host, src_path, src)
	else:
		if direct:
			src = src_path
			dst = dst_path
			mode = src_host.execute("stat -c %%a %s" % src).strip()
		else:
			dst = hostserver.randomFilename(dst_host)
			src = hostserver.randomFilename(src_host)
			copy(src_host, src_path, src)
	chmod(src_host, src, 644)
	url = hostserver.downloadGrant(src_host, src, "file")
	res = fetch(dst_host, url, dst)
	assert existsFile(dst_host, dst), "Failure to transfer file: %s" % res
	if compressed:
		uncompress(dst_host, dst, dst_path)
		delete(dst_host, dst)
		delete(src_host, src)
	else:
		if not direct:
			copy(dst_host, dst, dst_path)
			delete(dst_host, dst)
			delete(src_host, src)
		else:
			chmod(src_host, src_path, mode)
示例#2
0
def downloadCaptureUri(host, name):
    filename = "%s.pcap" % name
    path = hostserver.randomFilename(host)
    host.execute("tcpslice -w %s %s/*" % (path, _remoteDir(name)))
    assert fileutil.existsFile(host, path)
    return hostserver.downloadGrant(host, path, filename)