Liunx安装rsync同步工具(服务端和客户端)

rsync与scp不同:

rsync:选择性复制,如果一个文件有改动,则会同步,如果没有改动,不会同步

scp:不管有没有更新,都会覆盖源文件

1、下载并安装:wget https://download.samba.org/pub/rsync/rsync-3.1.2.tar.gz

tar -xzf rsync-3.1.2.tar.gz

cd rsync-3.1.2

./configure --prefix=/usr/local/rsyncd

make && make install

安装的时候会出现的问题以及解决

问题:./configure 后显示
checking for gcc... no
checking for cc... no
hecking for cl.exe... no
configure.sh:error:no acceptable C compiler found in $PATH
See 'config.log' for more details.

解决:是因为没装gcc编译器! 点击执行 yum -y install gcc即可

2、服务端配置 (随意建一下文件)

mkdir /etc/rsyncd
touch /etc/rsyncd/rsyncd.conf
touch /etc/rsyncd/rsyncd.secrets
touch /etc/rsyncd/rsyncd.motd
chmod 600 /etc/rsyncd/rsyncd.secrets
 

3、配置rsyncd.conf的内容

pid file = /var/run/rsyncd.pid #进程 pid 文件所在位置

port = 873 #指定监听端口,默认是873,可以自己指定

address = 192.168.1.171 #服务器监听的IP地址,可省略

uid = root #守护进程所属的uid,默认是nobody,可能会碰到文件或目录权限问题,此处偷懒用的 root

gid = root #守护进程的gid

#chroot,即改变程序执行时所参考的根目录位置,在传输文件之前,服务器守护程序在将chroot 到文件系统中的目录中

#这样做的好处是可能保护系统被安装漏洞侵袭的可能。缺点是需要超级用户权限。另外对符号链接文件,将会排除在外

#也就是说,你在 rsync服务器上,如果有符号链接,你在备份服务器上运行客户端的同步数据时,只会把符号链接名同步下来,并不会同步符号链接的内容

use chroot = yes

read only = no #只读选择,只让客户端从服务器上读取文件

write only = yes #只写选择,只让客户端到服务器上写入

#允许访问的IP,可以指定单个IP,也可以指定整个网段,能提高安全性。格式是 ip 与 ip 之间、ip 和网段之间、网段和网段之间要用空格隔开;

hosts allow = 192.168.1.0/255.255.255.0 10.0.1.0/255.255.255.0 

max connections = 5 #客户端最多连接数

#当用户登录时会看到这个信息。比如显示当前时间、公告等

motd file = /etc/rsyncd/rsyncd.motd

log file = /var/log/rsync.log #rsync 服务器的日志;

transfer logging = yes #记录传输文件的日志

log format = %t %a %m %f %b #日志格式

syslog facility = local3 #日志级别

#通过该选项可以覆盖客户指定的IP超时时间。可以确保rsync服务器不会永远等待一个崩溃的客户端。超时单位为秒钟,0表示没有超时定义,这也是默认值。对于匿名rsync服务器来说,一个理想的数字是600。

timeout = 300 

#模块定义

#主要是定义服务器哪个目录要被同步。

#每个模块都要以[name]形式。这个名字就是在 rsync 客户端看到的名字。

#但是服务器真正同步的数据是通过 path 指定的。可以依次创建多个模块。

#每个模块要指定认证用户、密码文件,但排除并不是必须的。

[ logs ] #模块名,以下配置都属于此模块

path = /var/log #文件目录所在位置

list = no #当查看服务器上提供了哪些目录时是否列出来,no比较安全

ignore errors #忽略I/O错误

#指定由空格或逗号分隔的用户名列表,只有这些用户才允许连接该模块。这里的用户和系统用户没有任何关系,是 rsyncd.secrets 中的用户名!

#如果"auth users"被设置,那么客户端发出对该模块的连接请求以后会被rsync请求challenged进行验证身份。

#这里使用的 challenge/response 认证协议。

#用户的名和密码以明文方式存放在"secrets file"选项指定的文件中。默认情况下无需密码就可以连接模块(也就是匿名方式)。

auth users = zhangzk

secrets file = /etc/rsyncd/rsyncd.secrets #密码文件

exclude = error_log httpd.pid #忽略的文件或目录

comment this is my log #本模块注释,可选

4、配置rsyncd.secrets的用户名以及密码

格式:用户名:密码

会出现的问题以及解决方案:大多数的问题基本都是认证不通过,基本的解决方案是:auth user的用户名是否

和文件中一致,以及客户端的密码是否相同,还有就是该文件的权限必须为chmod 600 客户端的密码文件也必须

是chmod 600。如果都不是上面的问题,那么将auth user的用户名设置为liunx的用户名(如果之前不是设为服务器的用户名的话)

5、启动服务端 在这里以守护线程来开启

/usr/local/rsync/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf

还有一种是以xinet方式,不做详细解说

6、客户端配置

6.1 和上述安装步骤一样

6.2 配置密码文件/etc/rsyncd/rsyncd.pass,并修改为 600 权限,并且密码和服务端一致,格式只是密码即可

6.3 传输文件rsync -vzrtopg --delete --progress /var/log/access.log root@192.168.1.100::logs  --password-file=/etc/rsyncd/rsyncd.pass --port=873

6.4 从服务器拉文件 拉取整个目录
rsync -vzrtopg --delete --progress  --password-file=/etc/rsyncd/rsyncd.pass --port=873 zhangzk@192.168.1.100::logs  /var/log

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值