主要使用paramiko模块 #python操作linux #在操作时有几个点需要注意,如stdout.readlines()这样的调用最好重新赋值给另一个变量,直接用这个作为变量出来的结果虽不会报错,但结果是错误的 import paramiko import re def get_connect(): ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect('ip',port,'user','password') sftp = ssh.open_sftp() stdin,stdout,stderr = ssh.exec_command('cd /file_store/qs;ls;') file = stdout.readlines() for i in range(len(file)): file_name = str(file[i]).replace('\n','') print(file_name) sftp.get('/file_store/qs/%s'%file_name,'./%s'%file_name,None) print('success') if __name__ == '__main__': get_connect()
这个模块的主体架构其实可以分为以下几个点:
一、连接
二、执行命令
三、上传或下载文件
其实就是我们在liunx中做的事情也就这些,这个总结框架是比较大,细分还是有许多可以细化的地方。
比如连接可以分为win->linux or linux->linux。这是两种不同的类型,连接配置要求不同。所以需要输入的参数也不同。当前只解锁了win->Linux。linux->linux需要配置公钥,账号密码的方式在测试中。