Linux下的双向文件同步工具

最近有在2台机器双向同步文件的需求, 于是有了本文. 上网找了一些双向文件同步的工具, 比较典型的有syncthingmirror. 本文介绍mirror的使用方法(不过好像syncthing使用更广泛一些).

1, 在2台机器上安装好java1.8版本(ubuntu使用sudo apt install openjdk-8-jre命令即可安装);
2, 在2台机器上安装好Watchman(安装方法);
3, 在2台机器上安装mirror工具(安装方法见github页面)

假设你的mirror安装在/data/apps/mirror/目录下, 2台机器需要同步/data/sftp/文件夹.

在server端运行mirror程序

# 写入systemd系统服务
vim /etc/systemd/system/mirror.service    #写入如下内容
[Unit]
Description=Mirror (File sync for two sftp servers[10.16.19.21,10.16.19.24])
After=network-online.target
After=network-online.target
Requires=network-online.target

[Service]
Type=simple
ExecStart=/bin/bash -l -c '/data/apps/mirror/mirror server'
Restart=on-failure

[Install]
WantedBy=multi-user.targe

# 启动程序
systemctl daemon-reload
systemctl restart mirror.service && systemctl status mirror.service
systemctl enable mirror.service

在client端运行mirror程序

# 写入systemd系统服务
vim /etc/systemd/system/mirror.service
[Unit]
Description=Mirror (File sync for two sftp servers[10.16.19.21,10.16.19.24])
After=network-online.target
Requires=network-online.target

[Service]
Type=simple
ExecStart=/bin/bash -l -c '/data/apps/mirror/mirror client -h 10.16.19.21 -l /data/sftp -r /data/sftp/'
Restart=on-failure

[Install]
WantedBy=multi-user.targe

# 启动程序
systemctl daemon-reload
systemctl restart mirror.service && systemctl status mirror.service
systemctl enable mirror.service

然后2台机器上的/data/sftp目录都可以保持同步了.

Linux下的双向文件同步工具》上有1条评论

发表评论

电子邮件地址不会被公开。