import paramiko
class LinuxFile:
def __init__(self, ip, port, username, password):
try:
self.ip = ip
self.port = port
self.username = username
self.password = password
self.transport = paramiko.Transport((str(self.ip), int(self.port)))
self.transport.connect(username=self.username, password=self.password)
self.sftp = paramiko.SFTPClient.from_transport(self.transport)
except Exception as e:
raise e
def up_file(self, localhost_file, server_file):
"""
将本地檔案上傳至伺服器
:param localhost_file: 本地檔案路徑
:param server_file: 伺服器儲存路徑
:return:
"""
self.sftp.put(localhost_file, server_file)
def down_file(self, localhost_file, server_file):
"""
将伺服器檔案下載下傳至本地
:param localhost_file: 本地檔案路徑
:param server_file: 伺服器儲存路徑
:return:
"""
self.sftp.get(localhost_file, server_file)
def close(self):
"""
關閉伺服器
:return:
"""
self.transport.close()
if __name__ == '__main__':
test = LinuxFile('192.168.16.105', '22', 'root', 'admin123')
test.up_file('../2020-10-11_20-21-28.py', '/root/2020-10-11_20-21-28.py')
test.down_file('/root/2020-10-11_20-21-28.py','2020-10-11_20-21-28.py')