资讯专栏INFORMATION COLUMN

Windows和Linux VPS/GDrive之间文件夹的实时单向/双向同步教程

Tecode / 2302人阅读

摘要:同步到网盘提示这里挂载网盘的同步参数会比上面多个,不然远程会不停的产生很多缓存文件。接下来设置一个变量,指向可执行文件目录,不然会无法识别可执行文件。

一般我们同步Windows和Linux之间的文件时,常用的方法有nfs挂载,inotify + rsync同步等,有钱的或许会买成熟的storenext系统,当然后者基本上都是公司在用,storenext由于价格太贵,个人使用基本可以无视,而nfs由于兼容性问题,在实际挂载中会出现很多小问题,算是inotify + rsync使用的比较多,不过鉴于前两天水过一篇Mutagen,博主发现用来实现Windows和Linux VPS之间双向同步的时候,速度还行,资源占用都不算很大,这里就大致水下使用方法,顺便也可以结合下Rclone,间接实现不挂梯子达到Windows和Gdrive双向同步的目的。

安装
Github地址:https://github.com/mutagen-io/mutagen

说明:这里Windows使用Mutagen前提条件需要OpenSSH,而Windows 10内置OpenSSH,不过貌似mutagen目前不支持默认的SSH,所以就需要我们安装一个额外的OpenSSH了,官方是推荐Git for Windows的,里面自带OpenSSH客户端,我们可以手动下载安装→传送门,也可以使用其它方法安装,这里博主就使用比较简单的Scoop命令行安装,好处就是安装和卸载都很方便。

以下方法适用于以下系统:

Windows 10
Windows Server 2012 R2
Windows Server 2012
Windows Server 2008 R2 SP1
Windows 8.1
Windows 7 SP1
这里Windows 10可以跳过1、2步骤;其它系统需要进行1、2步骤升级到PowerShell 5。

1、安装.NET Framework 4.5.2

下载地址

https://www.microsoft.com/en-us/download/details.aspx?id=42642
2、安装Management Framework 5.1

下载地址

https://www.microsoft.com/en-us/download/details.aspx?id=54616

对应的系统下载包名

Win 2012 64位

W2K12-KB3191565-x64.msu

Win 7和Win 2008 R2 64位

Win7AndW2K8R2-KB3191566-x64.zip

Win 7 32位

Win7-KB3191566-x86.zip

Win 8.1和Win 2012 R2 64位

Win8.1AndW2K12R2-KB3191564-x64.msu

Win 8.1 32位

Win8.1-KB3191564-x86.msu
都安装完成后记得重启电脑生效。

3、安装Scoop
先在电脑左下角程序搜索框输入PowerShell,然后双击Windows PowerShell工具,再使用命令:

iex (new-object net.webclient).downloadstring(https://get.scoop.sh)
如果安装不上,可能还需要更改执行策略,使用命令:

Set-ExecutionPolicy RemoteSigned -scope CurrentUser
出现提示,选择Y即可,然后再重新执行上面的命令安装Scoop。

4、安装Git

scoop install git
5、下载Mutagen

先在D盘根目录新建mutagen文件夹

mkdir D:mutagen

替换下面最新版的Windows二进制文件地址,查看地址:https://github.com/mutagen-io/mutagen/releases

$ws = New-Object Net.WebClient
$url = "https://github.com/mutagen-io/mutagen/releases/download/v0.10.0/mutagen_windows_amd64_v0.10.0.zip"

设置下载路径,默认D盘根目录mutagen文件夹

$downdir = "D:mutagenmutagen.zip"

开始下载,这里挂梯子下载貌似会快些

$ws.DownloadFile($url,$downdir)

解压文件

Expand-Archive -Path D:mutagenmutagen.zip -DestinationPath D:mutagen
这里除了可以在PowerShell使用命令下载,还可以直接使用浏览器下载压缩包,然后在D盘新建mutagen文件夹,并解压到该文件夹即可。

同步到VPS服务器
这里我们需要先设置一个变量MUTAGEN_SSH_PATH,指向SSH、SCP可执行文件目录,不然会无法识别SSH可执行文件。

$env:MUTAGEN_SSH_PATH= "$env:GIT_INSTALL_ROOTusrbin"
比如我要同步本地D盘根目录的BACK文件夹和远程Linux服务器的/moerats文件夹,使用命令:

双向同步,创建会话为rats,D:BACK为BACK文件夹绝对路径

D:mutagenmutagen.exe sync create --name=rats D:BACK root@远程服务器ip:ssh端口:/moerats

单向同步,创建会话为rats,D:BACK为BACK文件夹绝对路径

D:mutagenmutagen.exe sync create --name=rats -m one-way-safe D:BACK root@远程服务器ip:ssh端口:/moerats
如果期间遇到提示,选择yes,第一次可能会多要你输入几次服务器密码。

同步到GDrive网盘
提示:这里挂载网盘的同步参数会比上面多个--probe-mode=assume,不然远程会不停的产生很多缓存文件。
首先在VPS上使用rclone挂载Google Drive网盘,挂载教程→传送门,当然这里挂载OneDrive什么也是可以的,不过没啥必要,毕竟有OneDrive客户端。

接下来设置一个变量MUTAGEN_SSH_PATH,指向SSH、SCP可执行文件目录,不然会无法识别SSH可执行文件。

$env:MUTAGEN_SSH_PATH= "$env:GIT_INSTALL_ROOTusrbin"
比如我要同步本地D盘根目录的BACK文件夹和远程Linux服务器挂载Gdrive网盘的/moerats文件夹,使用命令:

双向同步,创建会话为rats,D:BACK为BACK文件夹绝对路径

D:mutagenmutagen.exe sync create --name=rats --probe-mode=assume D:BACK root@远程服务器ip:ssh端口:/moerats

单向同步,创建会话为rats,D:BACK为BACK文件夹绝对路径

D:mutagenmutagen.exe sync create --name=rats -m one-way-safe --probe-mode=assume D:BACK root@远程服务器ip:ssh端口:/moerats
如果期间遇到提示,选择yes,第一次可能会多要你输入几次服务器密码。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/125881.html

相关文章

  • 数据同步——otter

    摘要:阿里开源项目,数据同步的解决方案。基于数据库增量日志解析,支持数据库进行同步在最新的已经支持以及阿里云提供的数据库使用童鞋的福音。 参考文献:Otter-入门篇1(阿里开源项目Otter介绍) 一、背景 本人是一名应届毕业生,,还在努力挖坑。最近两个月被外派到其他公司做一个升级系统,做到现在一个多月。学到的东西很多,想总结的东西也很多,可是。。。时间是让人猝不及防的东西。好吧,现在先来...

    baiy 评论0 收藏0
  • Web 实时推送技术总结

    摘要:本文对过去和现在流行的实时推送技术进行了比较与总结。以上我们介绍了三种实时推送技术,然而各自的缺点很明显,使用起来并不理想,接下来我们着重介绍另一种技术它是比较理想的双向通信技术。 前言 随着 Web 的发展,用户对于 Web 的实时推送要求也越来越高 ,比如,工业运行监控、Web 在线通讯、即时报价系统、在线游戏等,都需要将后台发生的变化主动地、实时地传送到浏览器端,而不需要用户手动...

    Rocture 评论0 收藏0
  • UCloud数据迁移方案UDTS:在线业务数据,一键平滑迁移

    摘要:自上线以来,总迁移已超过级数据量。支持通过内网专线以及外网迁移数据。全量迁移在全球多地地域部署服务,根据源目位置来就近选择运行位置,保证迁移效率。数据库是公司核心资产的重要存储基座,面对用户不同场景,数据也需跨数据库迁移。如用户业务上云、多云灾备下的数据同步、不同数据源的聚合分析等,都需数据跨数据库的迁移。UCloud数据迁移方案UDTSUCloud数据传输服务UDTS(UCloud Dat...

    Tecode 评论0 收藏0
  • socket.io之一: 介绍

    摘要:在标准没有推出之前,轮询是唯一可行的方式通过浏览器也可以,但这里不做讨论。这种方式存在延时且对服务端造成很大负载。直到年,才标准化一种基于套接字进行收发数据的协议。现如今主流浏览器均已支持。 socket.io提供了基于事件的实时双向通讯 历史 Web端与服务器间的实时数据传输的是一个很重要的需求,但最早只能通过AJAX轮询询实现。在WebSocket标准没有推出之前,AJAX轮询是唯...

    william 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<