小知识:Rsync 服务器文件同步的搭建以及使用

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 = www.test.com 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  

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:Rsync ERROR: auth failed on module解决方法

2023-4-25 16:10:56

建站知识

小知识:运维人员处理服务器故障的方法总结

2023-4-25 16:25:29

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索