Python 一键同步windows和linux数据(基于pscp.exe)
outline
项目中需要把 windows server 上的数据同步到 linux server,方法很多,这里记录下自己采用的一种比较简单的方法。
准备工作
首先确保你 windows server 上装有 pscp.exe 。
下载地址:
也可以直接下载 PuTTY 内置的就有 PSCP 了。
安装之后进到 pscp.exe 所在目录下,查看使用帮助:
# 基本用法:
-p 拷贝文件的时候保留源文件建立的时间。
-q 执行文件拷贝时,不显示任何提示消息。
-r 拷贝整个目录
-v 拷贝文件时,显示提示信息。
Usage:
pscp [options] [user@]host:source target
pscp [options] source [source...] [user@]host
pscp [options] -ls user@host: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 v-gazh@10.150.144.153:/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 文件即可一键完成数据传输。
Python 一键同步windows和linux数据(基于pscp.exe)的更多相关文章
- 利用python同步windows和linux文件
写python脚本的初衷,每次在windows编辑完文件后,想同步到linux上去,只能够登录服务器,然后再利用网络copy,重复性很大,就想着能不能写一个小脚本帮我同步 逻辑:比对本地和服务器文件的 ...
- 局域网内python socket实现windows与linux间简单的消息传送
有个需求,就是在windows上看见一篇介绍linux相关的文章,想在局域网内的另外一台linux电脑上尝试一下, 于是就需要把该网页链接发送给linux,不想一点一点敲链接,又苦于没有找到其它好的方 ...
- 利用Rsync在windows和linux之间同步数据
使用Rsync从windows同步文件到linux 1.windows服务端的安装与配置: 免费软件下载地址:http://linux.linuxidc.com/,用户名密码为:www.linuxid ...
- rsync (windows 服务端,linux客户端)将windows上的数据同步到linux服务器,反之也可
一:总体概述. 1.windows上面首先装CW_rsync_Server.4.1.0_installer,安装时要输入的用户名密码要记住哦!接下来就是找到rsyncd.conf进入配置细节 2.li ...
- 【转帖】Linux上搭建Samba,实现windows与Linux文件数据同步
Linux上搭建Samba,实现windows与Linux文件数据同步 2018年06月09日 :: m_nanle_xiaobudiu 阅读数 15812更多 分类专栏: Linux Samba 版 ...
- 【转】windows和linux中搭建python集成开发环境IDE
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
- windows和linux中搭建python集成开发环境IDE——如何设置多个python环境
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
- linux同步windows的时间
找了很多的资料,都没有windows做时间服务,linux同步windows的时间的,最后自己找了一些软件,终于搞定了,写出来给大家共享,以免大家多走弯路 首先在http://www.meinberg ...
- Python编程软件的安装与使用——Windows、Linux和Mac
Python版本:3.6.2 操作系统:Windows 作者:SmallWZQ 最近,有读者透露:Python软件如何安装?为什么自己安装的软件会有各种"奇怪"的问题?据此,本 ...
随机推荐
- [Java Web]Hibernate基础总结(四)
性能优化 在大数据量遍历时(比如查找消息敏感词),须要手动使用clear方法释放缓存中的数据,防止缓存中数据过多浪费内存. 1+N问题:将Fetch设为LAZY能够在须要时才发出sql语句,或者设置B ...
- redis命令_SETEX
SETEX key seconds value 将值 value 关联到 key ,并将 key 的生存时间设为 seconds (以秒为单位). 如果 key 已经存在, SETEX 命令将覆写旧值 ...
- JS高程3:错误处理和调试
浏览器打开控制台的快捷键 Ctrl+shift+I try-catch语句 语法 try{ // 可能会导致错误的代码 } catch(error){ // 在错误发生时怎么处理 } 可以自定义错误信 ...
- C# MessageBox 消息对话框
在程序中,我们经常使用消息对话框给用户一定的信息提示,如在操作过程中遇到错误或程序异常,经常会使用这种方式给用于以提示.在C#中,MessageBox消息对话框位于System.Windows.For ...
- pow函数
pow函数如果直接强制类型转换成int,会导致精度的损失.如果是int的幂计算,建议重写函数.或者用double型进行计算.
- liunx下安装eclipse
1.eclipse-jee-mars-1-linux-gtk-x86_64 下载地址:http://download.csdn.net/download/yichen01010/10018917 2. ...
- [Win10应用开发] 使用 Windows 推送服务
前言 Windows 推送服务(WNS)也是 Win10 通知机制中的一种,今天与大家一起学习一下有关WNS的相关知识.使用 Windows 推送服务的前提是你需要有一个微软开发者账号,这样才能得到一 ...
- Linux上创建SSH隧道
Win上有好用的Xshell,可以做SSH隧道,但是Linux没有很好用的工具,本来gSTM还可以,但是死活装不上,也很久没更新了. 但其实,Linux上直接使用ssh命令就可以创建SSH隧道,非常方 ...
- GAN网络
http://www.sohu.com/a/130252639_473283 高分辨率图像重建 https://zhuanlan.zhihu.com/p/25201511 生成式对抗网络GAN有哪些最 ...
- C#实现反射调用动态加载的DLL文件中的方法
反射的作用:1. 可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型 2. 应用程序需要在运行时从某个特定的程序集中载入一个特定的类型,以便实现某个任务时可以用到反射.3. ...