如何使用python 通过SSH 将window 某个文件夹A以及其内部所有文件及文件夹 递归的 移动到 Centos7系统某文件夹B下,包括A文件夹
时间: 2023-06-18 12:05:45 浏览: 217
你可以使用 Paramiko 模块在 Python 中执行 SSH 命令,并使用 SCP 将文件夹及其内容复制到 CentOS 7 中。以下是一个简单的示例:
```python
import paramiko
import os
# SSH 连接信息
host = "192.168.1.100"
port = 22
username = "user"
password = "password"
# 本地文件夹路径和远程文件夹路径
local_path = r"C:\Users\username\Documents\A"
remote_path = "/home/user/B"
# 创建 SSH 客户端
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(host, port, username, password)
# 创建 SCP 客户端
scp = ssh.open_sftp()
# 递归复制本地文件夹到远程服务器
for root, dirs, files in os.walk(local_path):
for file in files:
local_file = os.path.join(root, file)
remote_file = os.path.join(remote_path, os.path.relpath(local_file, local_path))
scp.put(local_file, remote_file)
# 关闭 SCP 客户端和 SSH 客户端
scp.close()
ssh.close()
```
在上面的代码中,我们使用 paramiko 模块创建了一个 SSH 连接,并设置了本地文件夹路径和远程文件夹路径。然后,我们使用 os.walk 函数遍历本地文件夹及其子文件夹和文件,并使用 SCP 将文件和文件夹复制到远程服务器上。最后,我们关闭了 SCP 客户端和 SSH 客户端。
阅读全文