www.zhblog.net

Python 通过 paramiko 远程 Linux 并备份文件到本地

import paramiko
import time

paths = '/.../.../t'
file_name = 'all_{}'.format(time.strftime('%Y%m%d',time.localtime()))
commands = ('cd {}'.format(paths), 'touch 6.txt', 'tar -cvf {}.tar {}'.format(file_name, paths))

ssh_client = paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname='hostname', username='username', password='password')
stdin, stdout, stderr = ssh_client.exec_command(' \n '.join(commands))
# stdin 只写操作,可用于命令的输入
# stdout 命令结果的输出
# stderr 执行命令的错误信息, 没有则返回空

# 从 linux 下载文件到 Windows
ftp_client = ssh_client.open_sftp()
ftp_client.get('{}/{}.tar'.format(paths, file_name), r'e:\path\{}.tar'.format(file_name))
ftp_client.close()

# 从 Windows 上传到 Linux
ftp_client = ssh_client.open_sftp()
ftp_client.put(r'e:\path\1\all_20180803.tar', '{}/{}.tar'.format(paths, file_name))
ftp_client.close()

展开阅读全文

评论

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 心情