rsync 远程资源同步
Remote Synchronize 简称 rsync , 是一款可以远程同步文件的软件 , 同步过程可以采用 rsync 加密算法保证了文件的安全 , 并且同步的文件 , 可以保持原文件的属性 ( 比如权限 , 修改时间等 ) 不变。
rsync 是 Unix 下的一款应用软件,它能同步更新两处计算机的文件与目录,并适当利用差分编码以减少数据传输。 rsync 中一项与其他大部分类似程序或协议中所未见的重要特性是镜像对每个目标只需要一次传送。 rsync 可拷贝/显示目录属性,以及拷贝文件,并可选择性的压缩以及递归拷贝。 在常驻模式( daemon mode )下, rsync 默认监听 TCP 端口 873 ,以原生 rsync 传输协议或者通过远程 shell 如 RSH 或者 SSH 伺服文件。 SSH 情况下, rsync 客户端运行程序必须同时在本地和远程机器上安装。
配置:
首页准备两台 Linux 服务器 , 来搭建环境。
服务器 A : 配置为 rsync 服务器(假设 IP 地址为 192.168.142.143 )
安装 rsync 软件
执行 yum install rsync 指令安装 rsync 软件。
安装 xinetd
执行 yum install xinetd 指令安装 xinetd 软件。
配置 xinetd , rsync 的开机自启动
将上述所安装的这两个服务设置为开机自动启动
创建 rsync 的主配置文件
创建一个配置文件 , 名称为 rsyncd.conf , 存放目录为 /etc
其中
uid : 设置运行 rsync 进程的用户
backup : 此名字即客户端使用 rsync 来同步的路径
path : 实际需要同步的路径
auth users : 客户端获取文件的身份此用户并不是本机中确实存在的用户
secret file : 用来认证客户端的秘钥文件 格式 USERNAME:PASSWD 权限改为 600
host allow : 允许哪些主机访问 , * 代表所有
创建 rsync 的秘钥文件
秘钥文件的名称在上面的 secret file 中已经制定了存放位置 , 及名称 /etc/rsync.sec
配置好了 , 之后 , 还需要对秘钥文件进行授权操作 :
chmod 600 /etc/rsync.sec
重启 xinetd 以激活 rsync
执行 service xinetd restart 指令
服务器 B : 配置为 rsync 客户端(假设 IP 地址为 : 192.168.142.147)
安装 rsync
执行指令 yum install rsync
配置 rsync 客户端密码文件并授予 600 权限
创建密码文件
授予 600 权限
环境配置
创建目录 /root/rsync_dir , 用于同步服务器 A [backup] 模块中的文件
执行指令 : mkdir rsync_dir
测试
执行指令 : rsync -vzrtopg --progress --delete root@192.168.142.143::backup /root/rsync_dir --password-file=/etc/rsync.sec
执行这条命令之后 , 我们就可以将 root 目录下的文件 , 同步到客户机上 , 同步到客户端的 /root/rsync_dir 目录下 .
资源同步说明
配置好了之后 , 如果我们需要在两台服务器之间需要进行资源的同步 , 就可以调用 rsync 命令进行同步 ; 而这里所说的资源 , 可以包括任何的文件。
rsync 参数备注
rsync 命令选项
-n :测试,在不确定命令是否能按照意愿执行时,务必要实现测试
-v :详细输出模式, --verbose
-q : --quiet ,静默模式
-c : --checksum ,开启校验功能,强行对文件传输进行校验
-r : --recursive ,递归复制
-a: --archives. 归档,保留文件的原有属性相当于 rlptgoD 的选项组合 wKioL1gEMvXRMZ5SAAAitet95ug281.png-p:--perms 保留文件的权限
-t: --times 保留文件的时间戳
-l:--links 保留文件的符号链接
-g : --group 保留文件的属组
-o : --owner 保留文件的属主
-D : --devices 保留设备文件
-e ssh :表示使用 ssh 协议作为继承
-z :对文件压缩后传输
--progress :显示进度条
|
|