此处列出了我用来收集日期的脚本。它可以工作,但输出文件有太多的垃圾字符让我能够正确使用。
import paramiko
import os
savefile = 'dump.sql'
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(
paramiko.AutoAddPolicy())
ssh.connect('123.34.4.4',username='jlefler',password='paSSw0rd')
def sqlcheck(cmd):
out = []
msg = [stdin,stdout,stderr] = ssh.exec_command(cmd)
for item in msg:
try:
for line in item:
out.append(line.strip('\n'))
except: pass
return(list(out))
dump = sqlcheck('mysql -h database -u user -ppassword database -e "select user_id from users limit 50"')
file = open(savefile, 'w')
file.write(str(dump))
file.close()
print 'The dump had '+str(len(dump))+ ' lines and was saved to '+str(os.path.realpath('dump.sql'))
我的输出文件如下所示:
[u'user_id', u'\\name1VO', u' name2', u' name3', u'Warning: Using a password on the command line interface can be insecure.']
有没有什么方法可以利用paramiko和Python来下载普通文件而不需要任何奇怪的格式?我希望能够将它用于多个查询和mysqldumps - 但如果我不能保留格式,我就不能这样做。