Python 一键同步windows和linux数据(基于pscp.exe)

outline

项目中需要把 windows server 上的数据同步到 linux server,方法很多,这里记录下自己采用的一种比较简单的方法。

准备工作

首先确保你 windows server 上装有 pscp.exe 。

下载地址:

可去PuTTY官方下载页中,找到PSCP,下载。

也可以直接下载 PuTTY 内置的就有 PSCP 了。

安装之后进到 pscp.exe 所在目录下,查看使用帮助:

# 基本用法:
    -p 拷贝文件的时候保留源文件建立的时间。
    -q 执行文件拷贝时,不显示任何提示消息。
    -r 拷贝整个目录
    -v 拷贝文件时,显示提示信息。
  Usage:
           pscp   [options]   [[email protected]]host:source   target
           pscp   [options]   source   [source...]   [[email protected]]host
           pscp   [options]   -ls   [email protected]:filespec 

用法:
  pscp [选项] [用户名@]主机:源文件 目标文件
  pscp [选项] 源文件 [源文件……] [用户名@]主机
  pscp [选项] -ls 用户名@主机:文件空间?
  Options:
选项:
      -p    preserve file attributes 保护文件属性
      -q    quiet, don‘t show statistics 安静,不显示统计
      -r    copy directories recursively 复制子文件夹
      -V    print version information and exit  显示信息
      -v    show verbose messages
      -load sessname  Load settings from saved session
      -load  加载,加载保存节的设定
      -P port   connect to specified port
      -P      端口,连接到指定空间端口
      -l user   connect with specified username
      -l 用户,用指定的用户连接空间
      -pw passw login with specified password
      -pw     密码,用指定的密码登录空间
      -1/-2   强迫 ssh 使用的版本
      -4 -6   force use of IPv4 or IPv6
      -C      打开压缩
      -i   key         钥匙,证明用的钥匙文件
      -batch  关闭交互能力,也许
      -unsafe 不安全,允许伺服端取代字符 (危险的) 

基本用法

代码实现

import os

def sync_data(cmd):
    os.system(cmd3)
    print(‘sync done‘)

if __name__ == ‘__main__‘:
    cmd1 = r‘cd C:\Program Files\PuTTY‘
    cmd2 = r‘pscp -pw **** -r D:\v-gazh\data\after_test\source [email protected]:/home/v-gazh/data/SCP_test‘
    cmd3 = cmd1 + "&&" + cmd2

    sync_data(cmd3)

# 上述代码实现的是,把windows server 指定目录同步到 linux server 指定目录下。
# cmd2 中 -pw 后面是要登陆的 linux 服务器密码,替换成你自己打就ok

# 注: windows 下 cmd 终端里 执行两个命令可用  “&&” 连接

补充

# windows server 指定文件传输到Linxu服务器指定目录中。
基本命令格式:pscp 文件 用户名@LinuxIP:目录

# “ -l ”选项可以指定用户名。
基本命令格式:pscp -l 用户名 文件 LinuxIP:目录

# “ -r ”选项用于传输目录。
基本命令格式:pscp  -r 目录 用户名@LinuxIP:目录
或使用命令格式:pscp -l 用户名 -r 目录 LinuxIP:目录

参数设置好后,只需要运行上面 py 文件即可一键完成数据传输。

原文地址:https://www.cnblogs.com/bigtreei/p/9668268.html

时间: 2024-10-08 03:35:41

Python 一键同步windows和linux数据(基于pscp.exe)的相关文章

利用Python脚本获取Windows和Linux的系统版本信息

查看系统版本信息是一件家常便饭的事情,有时候需要将版本信息录入到资产管理系统中,如果每次手动的去查询这些信息再录入系统那么是一件令人呢头疼的事情,如果采用脚本去完成这件事情,那么情况就有所不同了. 在Python的世界里,获取Windows版本信息和Linux的版本信息都可以采用platform模块,但platform模块也不是万能的,有些特殊的信息(比如Windows的内部版本号)这个模块拿不到,那么只能另辟蹊径了. 在Linux系统中,可以简单的认为一切都是文件,那么就算没有现成的命令可用时

利用python同步windows和linux文件

写python脚本的初衷,每次在windows编辑完文件后,想同步到linux上去,只能够登录服务器,然后再利用网络copy,重复性很大,就想着能不能写一个小脚本帮我同步 逻辑:比对本地和服务器文件的md5,如果md5不一致,则备份服务器上的文件,将本地的给上传上去 代码分为windows端和服务器端,有些东西,都让python一个做了,写着有点累,就想着,能否服务端提供一个端口,windows去调用这个接口,来完成一部分工作 python代码如下: 需要额外安装的包为是paramiko,安装方

DNS服务器主从同步Windows主+Linux从(三)

(一)简介由于公司DNS服务器是以windows为主,由于经常打补丁,造成几次故障,故需要迁移到Linux,由于添加的记录过多,故采用以windows为主负责添加,修改解析记录,而Linux同步后进行接受业务请求的访问. 序号 IP 功能 系统 1 10.128.105.171 Master Windows 2 172.20.66.132 Slave- Linux (二)具体的步骤(1),windows安装配置省略 (2)Linux的具体步骤如下: 2.1安装bind[[email protec

rsync (windows 服务端,linux客户端)将windows上的数据同步到linux服务器,反之也可

一:总体概述. 1.windows上面首先装CW_rsync_Server.4.1.0_installer,安装时要输入的用户名密码要记住哦!接下来就是找到rsyncd.conf进入配置细节 2.linux上面只需要装rsync工具即可(yum provides */rsync找到rsync包进行安装即可) 二:细节配置. 1.默认在C:\Program Files (x86)\ICW\下的rsyncd.conf是主配置文件,密码文件一般放在/etc/下rsyncd.secrets 2.rsyn

Windows与Linux跨机房数据同步

背景: 总部研发中心需要将机房的存储SMB服务中某些文件同步到 IDC 及 分公司研发中心办公区内部SMB. IDC与总部研发中心通过IPsecVPN,形成隧道链路:分公司办公区域仅为基本网络. 难点: 办公区无硬件VPN类设备,无固定IP 总部的防火墙提供的VPN客户端Linux版本仅为1.00,需要开图形且极其不好用:  解决方法: 办公区域增加前置机安装windows版本软件VPN,实现与总部前置机联通.  网络连接拓扑如下:   应用实施拓扑及步骤如下:     实施步骤1: 配置两地S

Windows和Linux使用WinSCP脚本(备份)自动数据同步

使用WinSCP脚本(备份)自动数据同步 写在前面:本笔记适用于windows和linux之间数据备份.使用以下脚本前提是windows已将安装了WinSCP程序 脚本文件script.txtoption echo offoption transfer binaryopen sftp://username:[email protected]:port::cd /backup/::put E:\app (简单上传文件命令)synchronize remote E:\app\back /backup

windows和linux中搭建python集成开发环境IDE——如何设置多个python环境

本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和linux中搭建python集成开发环境IDE——如何设置多个python环境 Install Python packages on Ubuntu 14.04 from chris' sandbox In this post I will document my setup of Python 2.7

python同步windows系统时间

import os com1 = 'net use \\\\192.168.0.90\\ipc$ PPss01!123/user:administrator' os.system(com1) com2='net time \\\\192.168.0.90 /set /yes ' os.system(com2) com3='pause' os.system(com3) python同步windows系统时间

linux同步windows的时间

找了很多的资料,都没有windows做时间服务,linux同步windows的时间的,最后自己找了一些软件,终于搞定了,写出来给大家共享,以免大家多走弯路 首先在http://www.meinberg.de/english/sw/index.htm 下载了一个windows的NTP服务程序:ntp4171.zip windows 192.168.1.32 1.安装是提示设置服务器地址,我设置的本机widows机器的IP 2.ntpd的控制在: 控制面板->;管理工具->;组件服务-Networ