Rsync搭建部署和配置文件详解

环境:
Centos 7

[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

ip: 192.168.192.129 rsync服务端

ip :192.168.192.137 rsync客户端
0.先把客户端和服务端的防火墙和selinux关了

systemctl stop firewalld
setenforce 0

1.服务端安装采用编译安装

cd /usr/local/src
mkdir rsync
cd rsync
yum install gcc gcc-devel -y
wget https://download.samba.org/pub/rsync/src/rsync-3.1.3.tar.gz
tar -zxf rsync-3.1.3.tar.gz
cd rsync-3.1.3
./configure --prefix=/usr/local/rsync
make && make install
PATH="/usr/local/rsync/bin/:$PATH"

2.服务端编写配置文件/etc/rsyncd.conf(文末会解释每一行意义)

[root@localhost rsync-3.1.3]# cat /etc/rsyncd.conf
#create 2018.5.29 ip 192.168.192.129 by Hal
uid = rsync
gid = rsync
use chroot = no
max connections = 200
timeout = 300
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
ignore errors
read only = false
list = false
hosts allow = 192.168.192.0/24
hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password
[backup]
comment = “this is a comment”
path = /backup

3.服务端添加相关文件和目录

[root@localhost rsync]# mkdir /backup
[root@localhost backup]# chown -R rsync:rsync /backup
[root@localhost rsync]# useradd rsync
[root@localhost rsync]# cat /etc/rsync.password
rsync_backup:123456
[root@localhost rsync]# chmod 600 /etc/rsync.password

4.服务端启动rsync

[root@localhost rsync]# rsync --daemon
5.查看一下端口有没有打开
在这里插入图片描述
成功
6.在客户端yum安装rsync

yum install   -y rsync 

7.客户端创建密码文件并修改权限

[root@localhost ~]# cat /etc/rsync_passwd 
123456
[root@localhost ~]# chmod 600 /etc/rsync_passwd

8.客户端测试能否正常使用rsync服务

[root@localhost ~]# echo "hello world" > hello.txt
[root@localhost ~]# rsync -avz -P hello.txt  rsync_backup@192.168.192.129::backup --password-file=/etc/rsync_passwd 
sending incremental file list
hello.txt
             12 100%    0.00kB/s    0:00:00 (xfr#1, to-chk=0/1)

sent 108 bytes  received 43 bytes  100.67 bytes/sec
total size is 12  speedup is 0.08

9.查看一下服务端的/backup目录是否有hello.txt文件

[root@localhost backup]# cat /backup/hello.txt 
hello world

rsync配置文件详解

#create 2018.5.29 ip 192.168.192.129 by Hal  
uid = rsync     #rsync使用的用户,默认nobody
gid = rsync     #rsync使用的gid 默认nobody
use chroot = no    #是否限定在该目录下,默认为true,当有软连接时,需要改为fasle,如果为
                   #true就限定为模块默认目录,通常都在内网使用rsync所以不配也可以
max connections = 200 #设置最大连接数timeout = 300 #超时时间 建议300-600
pid file = /var/run/rsyncd.pid    #pid文件位置
lock file = /var/run/rsync.lock  #指定lock文件用来支持“max connections ”参数使总连接不会超过限制
log file = /var/log/rsyncd.log #日志文件路径
ignore errors #忽略io错误
read only = false #指定客户端是否可以上传文件,默认
truelist = false #是否允许客户端查看可用模块 
hosts allow = 192.168.192.0/24 #允许连接的ip段或个别ip,默认任何人都可以连接
hosts deny = 0.0.0.0/32 #不允许连接的IP段或个别ip
auth users = rsync_backup #指定以空格或逗号分隔用户,他们可以使用这个模块,用户不需要再本
                          #系统存在,默认所有用户都可以无密码登录
secrets file = /etc/rsync.password #指定用户名和密码文件 格式: 用户名:密码 密码不超过8位
                                   #这个是密码文件  全线最好是600
[backup] comment = "this is a comment" #此参数指定在客户端获取可用模块列表时显示在模块名称旁边的描述字
                                       ##符串,默认没有这个参数21
                                       path = /backup #模块在服务端的绝对路径

Rsync常用命令
命令格式
Local: rsync [OPTION…] SRC… [DEST] =====>本地的推送格式
Access via remote shell:
Pull: rsync [OPTION…] [USER@]HOST:SRC… [DEST]
Push: rsync [OPTION…] SRC… [USER@]HOST:DEST
Access via rsync daemon:
Pull: rsync [OPTION…] [USER@]HOST::SRC… [DEST]
rsync [OPTION…] rsync://[USER@]HOST[:PORT]/SRC… [DEST]
Push: rsync [OPTION…] SRC… [USER@]HOST::DEST
rsync [OPTION…] SRC… rsync://[USER@]HOST[:PORT]/DEST

常用的选项
-v 详细模式输出 传输时候显示进度等信息
-z 传输时进行压缩提高传输速率 --compuress-level=num 可以按级别压缩
-r 对子目录以递归模式,即目录下的所有目录都同样传输
-t 保持文件时间信息
-o 保持文件属性信息
-g 保持稳健属组信息
-a 归档模式 相当于 rtopg
-P 显示同步过程及传输时进度信息
-e 使用信道协议 指定替代rsh 的shell程序 如ssh
–exclude=PATTERN 指定排除不需要传输的文件 支持*来代替任意字符
-D 保持设备文件信息
-l 保留软连接
常用的选项为 avz

常见用法

将当前目录的hello.txt推送到服务端的backup模块
rsync -avz -P hello.txt  rsync_backup@192.168.192.129::backup --password-file=/etc/rsync_passwd 
或者
rsync -avz -P hello.txt  rsync://rsync_backup@192.168.192.129:/backup --password-file=/etc/rsync_passwd

将远端的backup目录拉取到当前目录
rsync -avz -P   rsync://rsync_backup@192.168.192.129:/backup ./  --password-file=/etc/rsync_passwd 
或者
rsync -avz -P   rsync_backup@192.168.192.129::backup ./  --password-file=/etc/rsync_passwd
也可以利用ssh

利用ssh传输

[root@localhost ~]# rsync -avz -P -e 'ssh -p 22' ./hello.txt  root@192.168.192.129:/backup/ 
root@192.168.192.129's password: root@192.168.192.129's password: 
sending incremental file list


sent 50 bytes  received 12 bytes  17.71 bytes/sec
total size is 0  speedup is 0.00
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值