说明: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 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