1、安装WLS

主要参考Windows10上使用Linux子系统(WSL)这篇文章进行安装,不要通过lxrun /install /y去安装,这种方法安装貌似没有wsl命令。

先把win 10 版本升级到16215.0以上,否则在Microsoft Store里的所有Linux都会显示免费下载为不可点击,升级win 10参考Download Windows 10即可。

如在Microsoft Store里选择Ubuntu,安装完启动并设置用户密码便可使用。

Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username: sandwich
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Installation successful!

2、rsync

配置rsync,/home/sandwich/rsyncd/rsyncd.conf中加入以下内容:

log file = /home/sandwich/rsyncd/rsyncd.log
port = 8730
use chroot = false
read only = false [WINDOWS_PROJECT_RSYNC_PATH]
path = /home/sandwich/rsyncd/dest

通过以下命令即可启动rsync

rsync --daemon --config=/home/sandwich/rsyncd/rsyncd.conf --no-detach

测试rsync同步

C:\Users\sandwich>wsl rsync --port=8730  -rlptDvzHS --progress --delete /home/sandwich/rsyncd/source/ sandwich@127.0.0.1::WINDOWS_PROJECT_RSYNC_PATH
sending incremental file list
./
a.txt
5 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=0/2) sent 118 bytes received 42 bytes 320.00 bytes/sec
total size is 5 speedup is 0.03

3、脚本修改

删除32位的python,参考windows下,python3.6 32位、64位共存及开发工具vscode配置安装python 64位,32位无法通过shell_command调用wsl。

重新MySQL-python参考Windows 10安装Python 2.7和MySQL-python

添加方法rsyncFiles用于同步,替换原来的copyFiles方法:

def rsyncFiles(source, target):
source_path = WSL_PROJECT_RSYNC_PATH + source + "/"
target_path = "sandwich@127.0.0.1::" + WINDOWS_PROJECT_RSYNC_PATH + target
shell_command("wsl rsync --port=8730 -rlptDvzHS --progress --delete " + source_path + " " + target_path)

4. 参考

Windows10上使用Linux子系统(WSL)

rsync-server-using-windows-subsystem-for-linux

Download Windows 10

手把手windows64位配置安装python2.7

[python subprocess.call() cannot find Windows Bash.exe](https://stackoverflow.com/questions/39812882/python-subprocess-call-cannot-find-windows-bash-exe)

Windows and Ubuntu Interoperability

Windows 10安装Python 2.7和MySQL-python

windows下,python3.6 32位、64位共存及开发工具vscode配置

解决"pip Fatal error in launcher: Unable to create process using ... "的错误

升级pip后不能运行的解决办法

win10更新出错0x80070422的解决方案

win10怎么更新到1709版本

通过WSL使用rsync同步本文件的更多相关文章

  1. Windows Linux 之间rsync同步CODE文件

    Windows Linux 之间rsync同步CODE文件 一.环境Windows:OS:Microsoft Windows Web Server 2008 SP1IP:192.168.88.197 ...

  2. 使用rsync同步文件

    rsync是Unix/Linux下同步文件的一个高效算法,它能同步更新两处计算机的文件与目录,并适当利用查找文件中的不同块以减少数据传输.关于rsync的核心算法,有兴趣的看下这篇文章. 这里介绍一下 ...

  3. rsync+sersync实现文件实时同步

    前言: 一.为什么要用Rsync+sersync架构? 1.sersync是基于Inotify开发的,类似于Inotify-tools的工具 2.sersync可以记录下被监听目录中发生变化的(包括增 ...

  4. rsync 同步文件

    rsync 同步文件 rsync -avz roo@192.168.4.12::/home/a ./a  --exclude "data" exclude 去掉/a/data 文件 ...

  5. 【Linux】rsync同步文件 & 程序自启动

    rsync使用 1. 为什么使用rsync? rsync解决linux系统下文件同步时, 增量同步问题. 使用场景: 线上需要定时备份数据文件(视频资源), 使用rsync完成每天的增量备份. 参见: ...

  6. 利用Inotify和Rsync将webproject文件自己主动同步到多台应用server

    背景:须要搭建一套跟线上一模一样的环境,用来预公布,这是当中的web分发的一个小模块的实现过程. 1 工具以及环境简单介绍 1.1,Inotify工具 Inotify,它是一个内核用于通知用户空间程序 ...

  7. 用 rsync 同步本地和服务器的文件

    参考 DigitalOcean 安装 For Debian/Ubuntu: sudo apt-get install rsync For OpenSUSE/Fedora: sudo yum insta ...

  8. rsync+inotify实现文件同步更新(配置)

    linux下为了数据安全或者网站同步镜像,不得不考虑一些实时备份的问题,这篇linux下通过rsync+inotify 实现数据实时备份配置过程记录下来,防止遗忘配置过程记录下来,防止遗忘!如有建议技 ...

  9. Git版本控制,rsync同步文件,完成线上部署

    之前项目开发完成,测试阶段,借着此时,由于公司暂时用两台aliyun  ecs  做业务层,所以每次都需要同步线上文件,进而想着搞一搞服务器端(小公司,新项目,先小搞一把),搭建一套小的版本控制上线的 ...

随机推荐

  1. gitbook组织管理书写

    1.git 强大的版本管理工作,也适合对书写内容的更新管理. 2.markdown git管理文本,所以书写要从docx格式转变成markdown. 而typora是一个比较好用markdown书写工 ...

  2. SpringBoot简历模板

    项目二:智慧学习-乐勤在线学习网(SpringBoot)◎ 开发模式:团队(8人)                 ◎ 开发周期:4个月◎ 开发环境:JDK1.8.Zookeeper        ◎ ...

  3. Dlib支持CPU指令集编译问题(SSE4.2或者AVX)

    The compile script is: mkdir build cd build cmake ../../tools/python -DUSE_SSE2_INSTRUCTIONS=ON cmak ...

  4. 【VS开发】CFormView

    原文地址:CFormView作者:罗纳尔多 CFormView是MFC使用无模式对话框的一个典型例子.CFormView是基于对话框模板创建的视,它的直接基类是CSrcollView,CSrcollV ...

  5. SQuirreL连接Phoenix报java.util.concurrent.TimeoutException

    1.表象 java.util.concurrent.TimeoutException at java.util.concurrent.FutureTask.get(FutureTask.java:20 ...

  6. VMware一些概念

    物理机:真真实实存在的机器,有操作系统.内存.硬盘.网卡. 虚拟机:vmware虚拟出来的,和物理机一样有操作系统.内存.硬盘.网卡. 虚拟机的网络连接的桥接模式.NAT模式.仅主机模式简单解说:  ...

  7. 事务配置在applicationContext.xml文件中不起作用,控制不了异常回滚

    一.博主在学习到整合ssm框架的时候,遇到一个奇葩的问题就是将 事务的控制 ,写在在applicationContext.xml文件中不起作用,在事务控制的方法中,即使出现了异常,但是事务不会回滚的坑 ...

  8. 使用Docker Maven 插件进行镜像的创建以及上传至私服

    1.在进行服务容器化部署的时候,需要将服务以及其运行的环境整个打包做成一个镜像,打包的过程有两种办法,第一种是首选通过maven打成jar包,然后再编写dockerfile,执行docker buil ...

  9. 【Java学习】类、对象、实例—类是对象的抽象,对象是类的实例

    类.对象.实例的关系是什么,如果不能很好的理解什么是类什么是对象就无法讲清楚, 类:某种事物与另一种事物具有相似性,比如哈士奇和泰迪,我们发现他们有一些相似的特性和行为,在生物学上,他们都属于“狗”, ...

  10. ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);

    MFC中ASSERT作为断言语句,括号内内容为TRUE,继续执行:为FALSE终止执行.之后取得当前窗口的系统菜单,在这个菜单中添加字符串资源IDS_ABOUTBOX和菜单资源IDM_ABOUTBOX ...