通过ssh和paramikos scp的包装器在本地计算机和远程计算机上执行命令。
cmdssh的Python项目详细描述
通过ssh在本地计算机和远程计算机上执行命令,以及 paramikos scp的包装。
shell命令
用shell=true包装subprocess.call
shell(cmd)
后台unix命令正在运行
运行阻塞unix命令并返回结果
cmd_run(cmd,pr=False,streamoutput=True,returnoutput=True,cwd=None,prefix=None)# examplecmd_run('date "+%Y-%m-%d% %H:%M"',pr=False,streamoutput=False,returnoutput=True)# more paramscall_command(command,cmdfolder=os.getcwd(),verbose=False,streamoutput=True,\ returnoutput=False,prefix=None,ret_and_code=False)
参数:
- command:unix命令
- cmdfolder=os.getcwd()->;工作文件夹命令
- verbose=false->;打印命令
- streamoutput=true->;将输出打印到stdout(保持缓冲)
- returnoutput=false->;返回缓冲输出
- prefix=无->;在流输出之前放置的字符串
- {TT7}$= false & gt;返回退出代码(代码,VAL)
variant background unix命令
常见的用例场景,运行一个命令并获得结果,可能 使用可选过滤器打印到控制台。
# example filter:defonlyerrors(data):if"ERROR"indata:returndatacmd_exec(cmd,cmdtoprint=None,display=True,myfilter=onlyerrors)
- cmdtoprint:unix命令
- display:打印到控制台
- myfilter:用于打印的函数
ssh:在远程计算机上运行命令
使用ssh和密钥身份验证登录到远程ssh服务器,然后 在那里执行命令。
defremote_cmd(server,cmd,username=None,timeout=60,keypath=None):#exampleremote_cmd("localhost","rm -Rf ~/Desktop/foobar")
参数:
- server:服务器的IP或域名
- cmd:要执行的unix命令
- username:用于登录的用户名
- timeout:尝试连接到服务器
- keypath:用户名公钥的路径
基于元组的接口:
remote_cmd_map(servercmd)
- servercmd:元组具有(server,cmd,username,keypath)
ssh:安全复制协议
scp_get(server,fp1,fp2,username=None,keypath=None)scp_put(server,fp1,fp2,username=None,keypath=None)
参数:
- server:服务器的IP或域名
- fp1:源文件路径
- fp2:目标文件路径
- username:用于登录的用户名
- keypath:用户名公钥的路径
ssh:shell
调用计算机上的外壳
invoke_shell(server,username,keypath)
参数:
- server:服务器的IP或域名
- username:用于登录的用户名
- keypath:用户名公钥的路径
下载文件
请求库的包装。下载有进度的文件 酒吧。
download(url,mypath):
参数:
- url:要下载的URL
- mypath:创建下载文件的文件路径
示例输出:
download: http://download.thinkbroadband.com/5MB.zip 00:00:02|███████████████████████ |3.7Mi/5.0Mi