一款快速,跨平台,多向的文件实时同步工具:Mutagen

by Rat’s

Rat’s Blog / 2019-07-27 22:10

说明:Mutagen是一个开源、跨平台的文件同步和网络转发工具,目前支持本地文件系统,远程服务器和Docker容器文件系统之间的同步,感觉同步和lsyncd很类似,但安装和配置更简单。同时也支持转发本地TCP端口(IPv4IPv6)和Unix域套接字,并可以将本地Unix域套接字映射到远程TCP侦听器。

安装

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

支持系统:WindowsMacOSLinux

先访问下载地址→传送门,根据自己的系统架构选择对应的最新版二进制文件,这里以常见的Linux VPS为例,32位就选38664就选amd64,具体还是以实际情况为准,目前最新版为v0.10.0-beta2,如果版本有更新,记得替换下面的下载链接即可。

安装命令:

#32位系统下载二进制文件   wget https://github.com/mutagen-io/mutagen/releases/download/v0.10.0-beta2/mutagen_linux_386_v0.10.0-beta2.tar.gz   #64位系统下载二进制文件   wget https://github.com/mutagen-io/mutagen/releases/download/v0.10.0-beta2/mutagen_linux_amd64_v0.10.0-beta2.tar.gz      #解压文件   tar zxvf mutagen_linux_*.tar.gz -C /usr/local/bin   #启动   mutagen daemon start   

使用命令:

#后期随着更新,命令参数可能会有变化,到时候使用mutagen -h查看最新参数即可   Usage:     mutagen [flags]     mutagen [command]      Available Commands:     sync        Create and manage synchronization sessions     forward     Create and manage forwarding sessions [Experimental]     project     Orchestrate sessions for a project [Experimental]     daemon      Control the lifecycle of the Mutagen daemon     version     Show version information     legal       Show legal information     help        Help about any command      Flags:     -h, --help   Show help information      Use "mutagen [command] --help" for more information about a command.   

使用方法

这里主要说同步功能,转发的话,貌似大多数人用不到,如果想了解转发可以查看→传送门

首先同步前,需要先创建一个同步会话,默认为双向同步,命令示例:

#创建一个名为rats1的同步本地/moerat和远程服务器/rats文件夹的会话   mutagen sync create --name=rats1 /moerats user@远程服务器ip:port:/rats      比如远程服务器ip为1.2.3.4,端口为9999,用户名root,则user@远程服务器ip:port可以写成为root@1.2.3.4:9999   

创建期间可能会要你多次输入远程服务器的密码,创建会话后,本地文件夹和远程文件夹可以双向同步了,意味着本地和远程的文件夹有任何一个文件夹出现变动,均会在另一方出现变动。

如果要单向同步,则命令示例:

#创建一个名为rats1的同步本地/moerat和远程服务器/rats文件夹的会话   mutagen sync create --name=rats1 -m one-way-safe /moerats user@远程服务器ip:port:/rats   

创建会话后,只会单向同步本地/moerat文件夹到远程服务器/rats文件夹,意味着/moerat文件夹出现变动会影响/rats文件夹,而/rats文件夹出现变动不会影响/moerat文件夹。

除了远程同步外,还可以实现本地服务器文件夹之间双向同步,也可以和Docker容器里面的文件夹同步,命令示例:

#创建一个名为rats1的同步本地/moerat和本地/rats文件夹的会话   mutagen sync create --name=rats1 /moerats /rats      #创建一个名为rats1的同步本地/moerat和本地服务器指定Docker容器内/rats文件夹的会话   mutagen sync create --name=rats1 /moerats docker://root@容器ID/rats

Docker容器ID可以使用docker ps命令查看,CONTAINER ID为容器ID,创建本地会话后,相应的文件会双向同步。

其它命令:

#查看所有的会话   mutagen sync list   #监控名为rats1的会话   mutagen sync monitor rats1   #停止名为rats1的会话   mutagen sync pause rats1   #恢复名为rats1的会话   mutagen sync resume rats1   #刷新名为rats1的会话   mutagen sync flush rats1   #永久删除名为rats1的会话   mutagen sync terminate rats1

最后该软件要是用来备份的话,貌似有点单一,想要功能比较多的可以看看ResticDuplicati,或者需要和OneDrive之间实时同步的话可以查看→传送门

Shared via Inoreader