当前位置: 首页 > news >正文

惠州网站制作案例横沥建设网站

惠州网站制作案例,横沥建设网站,甘肃省 网站建设 审批,官方网站建设进度表在Python中实现Windows两个服务器之间的文件夹同步,包括文件新增、修改和删除的同步,可以使用paramiko库进行SSH连接以及SFTP传输,并结合文件大小和时间戳判断文件是否发生过变化。以下是包含删除文件同步逻辑的完整脚本示例: im…

在Python中实现Windows两个服务器之间的文件夹同步,包括文件新增、修改和删除的同步,可以使用paramiko库进行SSH连接以及SFTP传输,并结合文件大小和时间戳判断文件是否发生过变化。以下是包含删除文件同步逻辑的完整脚本示例:

import os
import paramiko# 定义源与目标服务器信息
src_host = 'source_server_ip'
src_user = 'source_username'
src_password = 'source_password'
src_folder = '/path/to/source/folder'dst_host = 'destination_server_ip'
dst_user = 'destination_username'
dst_password = 'destination_password'
dst_folder = '/path/to/destination/folder'def sync_files(sftp_src, src_path, sftp_dst, dst_path):# 遍历源目录下的所有项(文件或子目录)for src_name in sftp_src.listdir_attr(src_path):src_item_path = os.path.join(src_path, src_name.filename)dst_item_path = os.path.join(dst_path, src_name.filename)if S_ISDIR(src_name.st_mode):  # 如果是目录if not sftp_dst.exists(dst_item_path):  # 目录不存在于目标服务器,则创建sftp_dst.mkdir(dst_item_path)sync_files(sftp_src, src_item_path, sftp_dst, dst_item_path)else:  # 是文件if not sftp_dst.exists(dst_item_path):  # 文件不存在于目标服务器,直接上传sftp_dst.put(src_item_path, dst_item_path)else:  # 文件存在时比较大小和时间戳dst_stat = sftp_dst.stat(dst_item_path)if src_name.st_size != dst_stat.st_size or src_name.st_mtime != dst_stat.st_mtime:# 大小或时间戳不同,更新文件sftp_dst.remove(dst_item_path)sftp_dst.put(src_item_path, dst_item_path)# 处理源服务器上已删除但目标服务器上仍存在的文件for dst_name in sftp_dst.listdir_attr(dst_path):dst_item_path = os.path.join(dst_path, dst_name.filename)if not sftp_src.exists(os.path.join(src_path, dst_name.filename)):# 源服务器上不存在此文件,从目标服务器上删除sftp_dst.remove(dst_item_path)def main():ssh_src = paramiko.SSHClient()ssh_dst = paramiko.SSHClient()# 自动添加主机密钥到known_hostsssh_src.set_missing_host_key_policy(paramiko.AutoAddPolicy())ssh_dst.set_missing_host_key_policy(paramiko.AutoAddPolicy())ssh_src.connect(src_host, username=src_user, password=src_password)ssh_dst.connect(dst_host, username=dst_user, password=dst_password)sftp_src = ssh_src.open_sftp()sftp_dst = ssh_dst.open_sftp()sync_files(sftp_src, src_folder, sftp_dst, dst_folder)sftp_src.close()sftp_dst.close()ssh_src.close()ssh_dst.close()if __name__ == "__main__":main()

这个脚本首先遍历源文件夹中的所有文件和子目录,并根据文件状态进行相应操作。接着,它会检查目标文件夹中是否存在源文件夹中已经删除的文件,并执行删除操作以保持两台服务器上的文件内容一致。

遇到问题

AttributeError: ‘SFTPClient‘ object has no attribute ‘exists‘问题解决-CSDN博客

http://www.yayakq.cn/news/424/

相关文章:

  • 做直播网站的上市公司免费做小程序的平台
  • 无成本搭建属于自己的网站江门市做网站
  • 书籍教你如何做网站百度人工电话多少号
  • 做软件常用的网站网站模板预览
  • 建一个网站得多少钱岳阳公司网站建设
  • 遵义建站wordpress 文章保存在哪里
  • 做网站 信息集成过程的顺序网站域名归属权
  • 人才共享网站的建设方案怎么写广州知名设计公司排名
  • 手机免费创建网站的软件wordpress网站防采集
  • 印刷网站建设价格阀门网站建设
  • 建设部执业资格网站钱追得回吗
  • 南昌p2p网站建设公司在线平台教育网站开发
  • 沈阳网站制作公司东台网站建设服务商
  • 郑州网站建设 股权投资wordpress reeoo 主题
  • 企业网站建设的主要目的是杭州建设信用网网站
  • 陕西省建设集团公司网站wordpress添加文章分类二级
  • 正规网站建设找哪家网络优化岗位详细介绍
  • 大连网站建设怎么做网站内部链接建设
  • 自己网站制作的详细教程网站留言系统是怎么做的
  • 如何快速做网站wordpress撰写
  • wordpress建站优化大庆市建设中专网站
  • 上海专业的网站建设公司wordpress页面侧边栏没了
  • 美术馆网站建设要求网站营销费用
  • 甘肃省建设厅安全员官方网站深圳方维网站设计公司
  • 世纪兴网站建设品牌建设人才队伍建设
  • 安阳网站开发wordpress 样式
  • 石龙镇网站建设wordpress原创保护
  • 网站开发资质要求庆阳网站建设与制作
  • 自己在家开网店怎么开html搜索引擎优化
  • 网站下面版权代码天津微信网站开发