说明:Mutagen
是一个开源、跨平台的文件同步和网络转发工具,目前支持本地文件系统,远程服务器和 Docker
容器文件系统之间的同步,感觉同步和 lsyncd
很类似,但安装和配置更简单。同时也支持转发本地 TCP
端口 (IPv4
和 IPv6
)和 Unix
域套接字,并可以将本地 Unix
域套接字映射到远程 TCP
侦听器。
安装
Github 地址:https://github.com/mutagen-io/mutagen
支持系统:Windows
,MacOS
和 Linux
先访问下载地址→传送门,根据自己的系统架构选择对应的最新版二进制文件,这里以常见的 Linux VPS
为例,32
位就选 386
,64
就选 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 commandFlags: -h, --help Show help informationUse "mutagen [command] --help" for more information about a command.
使用方法
这里主要说同步功能,转发的话,貌似大多数人用不到,如果想了解转发可以查看→传送门。
首先同步前,需要先创建一个同步会话,默认为双向同步,命令示例:
#创建一个名为gowah1的同步本地/moewah 和远程服务器/gowah文件夹的会话mutagen sync create --name=gowah1 /mowwah user@远程服务器ip:port:/gowah比如远程服务器ip为1.2.3.4,端口为9999,用户名root,则user@远程服务器ip:port可以写成为root@1.2.3.4:9999
创建期间可能会要你多次输入远程服务器的密码,创建会话后,本地文件夹和远程文件夹可以双向同步了,意味着本地和远程的文件夹有任何一个文件夹出现变动,均会在另一方出现变动。
如果要单向同步,则命令示例:
#创建一个名为gowah1的同步本地/moewah和远程服务器/gowah文件夹的会话mutagen sync create --name=gowah1 -m one-way-safe /moewah user@远程服务器ip:port:/gowah
创建会话后,只会单向同步本地 /moewah
文件夹到远程服务器 /gowah
文件夹,意味着 /moewah
文件夹出现变动会影响 /wah
文件夹,而 /gowah
文件夹出现变动不会影响 /moewah
文件夹。
除了远程同步外,还可以实现本地服务器文件夹之间双向同步,也可以和 Docker
容器里面的文件夹同步,命令示例:
#创建一个名为gowah1的同步本地/moewah和本地/gowah文件夹的会话mutagen sync create --name=gowah1 /moewah /gowah#创建一个名为gowah1的同步本地/moewah和本地服务器指定Docker容器内/gowah文件夹的会话mutagen sync create --name=gowah1 /moewah docker://root@容器ID/gowah
Docker
容器 ID
可以使用 docker ps
命令查看,CONTAINER ID
为容器 ID
,创建本地会话后,相应的文件会双向同步。
其它命令:
#查看所有的会话mutagen sync list#监控名为gowah1的会话mutagen sync monitor gowah1#停止名为gowah1的会话mutagen sync pause gowah1#恢复名为gowah1的会话mutagen sync resume gowah1#刷新名为gowah1的会话mutagen sync flush gowah1#永久删除名为gowah1的会话mutagen sync terminate gowah1