如何使用paramiko执行远程命令

时间:2010-10-13 13:52:34

标签: python

我想在远程namchine上压缩文件夹。因为我正在使用paramiko。 但我不知道如何使用paramiko这样做。 有什么建议??

这是我的代码:

dpath = '/var/mysql/5.1/mysql.zip'    
port = 22    
host = '10.88.36.7'    
transport = paramiko.Transport((host, port))    
transport.connect(username=suser, password=spass)    
channel = transport.open_channel(kind="session")    
channel.exec_command('zip -r /var/db/mysql /var/db/mysql')    
transport.close()

这有什么不对吗?

1 个答案:

答案 0 :(得分:3)

之后

channel.exec_command(...)

您必须等待终止命令:

while not channel.exit_status_ready()
    ... wait ... ( you can read the output with channel.recv, or sleep a bit)

此外,你的zip命令很奇怪......你不想说

zip -r /var/db/mysql.zip /var/db/mysql