乐趣区

关于centos:使用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

[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 命令,同步文件到 Backup 文件夹外面。

[root@192_168_43_165 ~]# unison -batch /root/Files /root/Backup


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

当初批改一下 Backup 文件夹外面的某个文件,而后再增加已给文件,最初执行一下方才的命令,看看是否会同步到 Files 文件夹中:

[root@192_168_43_165 Backup]# echo “testtesttest” > file2.txt
[root@192_168_43_165 Backup]# echo ‘hello world!’ > index.html


执行 unison 命令:

[root@192_168_43_165 ~]# unison -batch /root/Files /root/Backup


能够看到 Backup 文件夹外面的内容同步到 Files 外面了

近程文件同步

如果须要进行近程文件同步,必须在本地和近程服务器上安装 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]


连通性没问题之后,咱们就能够执行命令同步文件了:

[root@192_168_43_165 ~]# unison -batch /root/Files ssh://root@192.168.43.166//root/Files


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

总结

Unison 十分易于应用,不须要额定的精力。它能够在 GUI 以及命令行实用程序中应用任何一种形式进行自定义同步。如果须要应用图形界面,能够在桌面环境执行 unison-gtk-2.40 关上图形界面进行配置。

退出移动版