• 使用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 同步文件

    总结

    Unison非常易于使用,不需要额外的精力。它可以在GUI以及命令行实用程序中使用任何一种方式进行自定义同步。如果需要使用图形界面,可以在桌面环境执行unison-gtk-2.40打开图形界面进行配置。

  • 相关阅读:
    Docker 第一篇 认识Docker 的作用好处
    AspNetCoreApi 跨域处理
    VS 2017 发布:由于构建错误,发布失败
    iTerm2 cheatsheet (from github)
    find命令:忽略一个目录或者多个目录
    git push throws error: RPC failed; result=22, HTTP code = 411的解决办法
    sourceTree 一款图形化GIT工具
    生产力工具之vimwiki 和 calendar
    source : not found 原因及解决办法
    亚马逊开放机器学习系统源代码:挑战谷歌TensorFlow
  • 原文地址:https://www.cnblogs.com/linuxprobe/p/14117254.html
Copyright © 2020-2023  润新知