如何使用 Python 從一臺伺服器將檔案複製到另一臺伺服器上?


使用 ssh 從一臺伺服器複製檔案到另一臺伺服器的最簡單方法是使用 scp 命令。您需要 subprocess 模組才能呼叫 scp。

例如

import subprocess
p = subprocess.Popen(["scp", "my_file.txt", "username@server:path"])
sts = os.waitpid(p.pid, 0)

您需要使用 waitpid 呼叫來等待複製完成。

另一種解決方案是開啟 ssh 連線並使用 scp 模組。

例如

from paramiko import SSHClient
from scp import SCPClient
ssh = SSHClient()
ssh.load_system_host_keys()
ssh.connect('user@server:path')
with SCPClient(ssh.get_transport()) as scp:
    scp.put('my_file.txt', 'my_file.txt') # Copy my_file.txt to the server

更新於: 16-Dec-2019

8K+ 瀏覽

開啟你的 職業

完成課程獲得認證

立即開始
廣告