|
@@ -7,6 +7,8 @@ import datetime
|
|
from os import path
|
|
from os import path
|
|
import time
|
|
import time
|
|
import shutil
|
|
import shutil
|
|
|
|
+import paramiko
|
|
|
|
+import scp
|
|
|
|
|
|
default_max_length = 1000
|
|
default_max_length = 1000
|
|
|
|
|
|
@@ -159,5 +161,26 @@ def listen():
|
|
|
|
|
|
|
|
|
|
class Uploader:
|
|
class Uploader:
|
|
- def __init__(self):
|
|
|
|
- pass
|
|
|
|
|
|
+ def __init__(self, host, port, username, password, local, remote):
|
|
|
|
+ self.host = host
|
|
|
|
+ self.port = port
|
|
|
|
+ self.username = username
|
|
|
|
+ self.password = password
|
|
|
|
+ self.local = local
|
|
|
|
+ self.remote = remote
|
|
|
|
+
|
|
|
|
+ def upload(self):
|
|
|
|
+ try:
|
|
|
|
+ ssh_client = paramiko.SSHClient()
|
|
|
|
+ ssh_client.load_system_host_keys()
|
|
|
|
+ ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
|
|
|
+ ssh_client.connect(self.host, self.port, self.username, self.password)
|
|
|
|
+
|
|
|
|
+ scp_client = scp.SCPClient(ssh_client.get_transport())
|
|
|
|
+ scp_client.put(self.local, self.remote, recursive=True)
|
|
|
|
+ return None
|
|
|
|
+ except Exception as e:
|
|
|
|
+ logging.error('[UPLOAD] upload files with '
|
|
|
|
+ 'host: %s, port: %d, username: %s, password: %s, local: %s, remote: %s error: %s',
|
|
|
|
+ self.host, self.port, self.username, self.password, self.local, self.remote, e)
|
|
|
|
+ return e
|