良许Linux教程网 干货合集 通过Unison 同步文件

通过Unison 同步文件

Unison是一款跨windows/linux/MAC OS平台的文件同步工具,不仅支持本地对本地同步,也支持通过SSH、RSH和Socket等网络协议与远程主机进行同步。最主要的是,Unison支持双向同步操作,即任何一端数据发生改变,都会更新到对端;但是,unison无法实现实时双向同步。

通过Unison 同步文件

环境

  • Centos7(1): 192.168.43.165
  • Centos7(2): 192.168.43.166

安装Unison

在两个系统中都要安装epel源,然后都要安装unison:

[root@192_168_43_165 ~]# yum -y install epel-release
[root@192_168_43_165 ~]# yum makecache
[root@192_168_43_165 ~]# yum -y install unison

两台操作系统配置ssh免密登录

[root@192_168_43_165 ~]# ssh-keygen
使用Unison 同步文件使用Unison 同步文件
[root@192_168_43_165 ~]# ssh-copy-id root@192.168.43.166
[root@192_168_43_165 ~]# cd ~/.ssh
[root@192_168_43_165 .ssh]# cat id_rsa.pub > authorized_keys
[root@192_168_43_165 .ssh]# scp id_rsa root@192.168.43.166:/root/.ssh

如何使用Unison

Unison用于将目录中的一组文件同步到结构相似的另一个位置,该位置可以是本地主机或远程主机。

本地文件同步

在root家目录下面创建两个文件夹,一个是”Files”,一个是”Backup”。Files里面创建文件,同步到Backup里面。

[root@192_168_43_165 ~]# mkdir Files Backup
[root@192_168_43_165 ~]# cd Files/
[root@192_168_43_165 Files]# touch file{1..10}.txt

使用Unison 同步文件使用Unison 同步文件 现在运行unison命令,同步文件到Backup文件夹里面。

[root@192_168_43_165 ~]# unison -batch /root/Files /root/Backup
使用Unison 同步文件使用Unison 同步文件

查看一下Backup文件夹,发现文件同步过来了。

使用Unison 同步文件使用Unison 同步文件

现在修改一下Backup文件夹里面的某个文件,然后再添加已给文件,最后执行一下刚才的命令,看看是否会同步到Files文件夹中:

[root@192_168_43_165 Backup]# echo "testtesttest" > file2.txt
[root@192_168_43_165 Backup]# echo 'hello world!' > index.html

使用Unison 同步文件使用Unison 同步文件 执行unison命令:

[root@192_168_43_165 ~]# unison -batch /root/Files /root/Backup
使用Unison 同步文件使用Unison 同步文件

可以看到Backup文件夹里面的内容同步到Files里面了

使用Unison 同步文件使用Unison 同步文件

远程文件同步

如果需要进行远程文件同步,必须在本地和远程服务器上安装Unison。

下面现在两台服务器的root目录下面创建两个文件夹,为同步文件使用的。

# 在第一台服务器创建文件夹。
[root@192_168_43_165 ~]# mkdir Files
# 在第二台服务器创建文件夹。
[root@192_168_43_166 ~]# mkdir Files

下面使用-testServer选项测试本地和远程服务器之间的连通性。

[root@192_168_43_165 ~]# unison -testServer /root/Files ssh://root@192.168.43.166//root/Files
Contacting server...
Connected [//192_168_43_165//root/Files -> //192_168_43_166//root/Files]
使用Unison 同步文件使用Unison 同步文件

连通性没问题之后,我们就可以执行命令同步文件了:

[root@192_168_43_165 ~]# unison -batch /root/Files ssh://root@192.168.43.166//root/Files
使用Unison 同步文件使用Unison 同步文件
使用Unison 同步文件使用Unison 同步文件

查看第二台服务器上面的/root/Files文件夹,文件是否同步过来了:

使用Unison 同步文件使用Unison 同步文件

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

img
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部