Rsync 服务器文件同步的搭建以及使用

时间:2021-05-19

rsync 是类unix系统下的数据镜像备份工具, 它可以镜像保存整个目录树和文件系统。并且很容易做到保持原文件的权限,时间,软硬链接等等。

无须特殊权限即可安装。

特点:

快速、 第一次同步时会复制全部内容,但在下一次他只传修改过的文件,并且在传输过程中可以实行压缩及解压缩操作,因此可以使用更少带宽。
安全、 可以使用scp、ssh等方式来传输文件,当然也可以通过直接的socket链接
支持匿名传输,以方便进行网站镜像。

首先

下载安装包

复制代码 代码如下:
wget http://rsync.samba.org/ftp/rsync/rsync-3.0.9.tar.gz
tar zxvf rsync-3.0.9.tar.gz
cd rsync-3.0.9
./configure
make
make install

安装完毕后,新建sync配置文件

复制代码 代码如下:
vim /etc/rsyncd.conf
uid=www
gid=www
max connections=1000
use chroot=no
log file=/var/log/rsyncd.log
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsyncd.lock

[test]
path=/data0/htdocs/
comment = CDN src files
ignore errors
read only = no
hosts allow = 127.0.0.1 192.168.1.0/24 10.1.1.0/24
hosts deny = *

修改配置文件权限 以及项目目录权限

复制代码 代码如下:
chmod 644 /etc/rsyncd.conf
chown www.www /data0/htdocs

开启rsync

复制代码 代码如下:rsync --daemon

服务端与客户端配置一样

在服务端执行

复制代码 代码如下:rsync -rtuv --delete /data0/htdocs/ 10.1.1.195::test/

将本地的/data0/htdocs/下的所有文件同步到 客户端10.1.1.195服务器的test模块下

在客户端执行

复制代码 代码如下:rsync -vzrtopg --delete --progress www@10.1.1.195::test /data0/htdocs/

将远程服务器10.1.1.195下的test模块内容 同步到本地/data0/htdocs/下

上面这个命令行中-vzrtopg代表的意思是:
-v表示verbose(详细)
-z表示zip(压缩)
-r表示recursive(递归目录)
-topg是保持文件原有属性如o=owner(属主)、t=times(时间)、p=perms(权限)、 g=group(组)的参数
-H表示保持硬连接
-l:保留软链结
-u:表示只更新源文件比目标时间新的文件
--progress是指显示出详细的进度情况
--delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致。

以下是过程中容易分发生的错误

rsync: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory

解决办法: 在/etc/ld.so.conf中加一行/usr/local/lib 运行ldconfig 在运行 rsync --daemon即可

报错原因: 可能之前更新过iconv库,如果你不是root, ldconfig也运行不了的,解决办法就是,设置环境变量 LDFLAGS=-L/usr/local/lib

rsync: failed to connect to 192.168.1.42 (192.168.1.42): No route to host (113)
rsync error: error in socket IO (code 10) at clientserver.c(122) [sender=3.0.9]


解决办法: 可能因为客户端或者服务端的防火墙开启 导致无法通信,可以设置规则放行 rsync 或者直接关闭防火墙。

还有一种在同步过程中可能会提示没有权限

解决办法: 看一下模块同步目录权限是否设置的对,模块目录权限要设置为配置文件内的 uid 与 gid

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章