python windows和linux 文件同步

在Python中,可以使用paramiko库来实现Windows和Linux之间的文件同步。paramiko是一个用于SSH连接的Python库,可以用于在Windows和Linux之间进行文件传输。

以下是一个简单的示例代码,演示如何使用paramiko库在Windows和Linux之间同步文件:

???????
import paramiko,os
 
# 创建SSH客户端
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('192.168.11.26', username='root', password='root')
 
# 创建SFTP客户端
sftp = ssh.open_sftp()
 
# 在Windows服务器上获取要同步的文件列表
windows_path = r'D:/zenglg'
file_list = os.listdir(windows_path)
 
# 在Linux服务器上创建目标文件夹
linux_path = '/home/zenglg22'
dir_exists = False

try:
    dir_attrs = sftp.listdir_attr(linux_path)
    if dir_attrs:
        dir_exists = True
except IOError:
    # 目录不存在时就创建
    sftp.mkdir(linux_path)
    pass


 
# 同步文件
for file in file_list:
    windows_file_path = f'{windows_path}/{file}'
    linux_file_path = f'{linux_path}/{file}'
    sftp.put(windows_file_path, linux_file_path)
 
# 关闭SFTP客户端和SSH客户端连接
sftp.close()
ssh.close()

在上面的代码中,我们首先创建一个SSH客户端,并使用connect()方法连接到Linux服务器。然后,我们创建一个SFTP客户端,使用listdir()方法获取Windows服务器上要同步的文件列表。接下来,我们在Linux服务器上创建目标文件夹,并使用put()方法将文件从Windows服务器同步到Linux服务器。最后,我们关闭SFTP客户端和SSH客户端连接。

请注意,您需要将示例代码中的IP地址、用户名、密码、文件夹路径等替换为您自己的实际值。另外,您还需要确保已经安装了paramiko库。您可以使用以下命令在终端中安装它:


pip install paramiko

实现效果

windows本地文件夹

执行同步脚本之后