rsync的三种传输模式及常见报错

rsync的传输的三种模式:

1, 本地传输模式(类似于cp,不支持推送和拉取,只是单纯的复制)
2,远程传输模式 (类似于scp,又不同于scp),scp只支持全量备份,rsync支持增量备份和 差异备份
3,以守护进程的方式 (客户端和服务端)

一,本地传输模式:

1,格式

rsync [参数] [原来的路径] [现在的路径]

2,参数

-t # 保持文件时间信息
-r # 递归传输目录及子目录

常用的参数组合:-avzP

img

3,案例:

案例1:将/tmp/etc.tar.gz上传到/mnt目录下

[root@rsync opt]# rsync /tmp/etc.tar.gz /mnt/
[root@rsync opt]# ll /mnt/
total 11136
-rw-r--r--. 1 root root 11402223 Oct 19 16:04 etc.tar.gz

img

案例2:将/root目录传输到/mnt目录

[root@rsync opt]# rsync -r /root/  /mnt/

img

二、远程传输模式

1、推数据

rsync [参数] [本地文件路径] [用户]@[ip]:[远程路径]

案例:

将3.txt传输到db01服务器上的/opt目录

[root@rsync tmp]# rsync -avzP 3.txt root@172.16.1.51:/opt/

img

2、拉数据

rsync [参数] [用户]@[ip]:[远程路径] [本地文件路径]

案例:拉取db01服务器上的3.txt 拉到/root目录下

[root@rsync tmp]# rsync  -avzP root@172.16.1.51:/opt/3.txt /tmp/

img

三、以守护进程的方式

1、为什么需要以守护进程的方式传输

1,保证数据安全:rsync传输时,使用的是系统用户和系统用户的密码,非常的不安全
2,使用普通传输又会出现权限问题
3,数据归档

2,步骤

部署服务端:rsync

1)、编写rsync的守护进程的配置文件

1.1)、编写配置文件

vi /etc/rsyncd.conf

原来的内容全删,新增下面内容:

uid = rsync   
gid = rsync
port = 873
fake super = yes
use chroot = no
max connections = 200
timeout = 600
ignore errors
read only = false
list = false
auth users = rsync_backup
secrets file = /etc/rsync.passwd  
log file = /var/log/rsyncd.log
#####################################
[backup]   # 备份的模块(backup是模块的名称)(可以是其他名字)
comment = welcome to oldboyedu backup!  
path = /backup    # 备份的路径

img

1.2)、创建rsync的启动用户

useradd rsync -r -M -s /sbin/nologin

-M  不要自动建立用户的登入目录

img

1.3)、创建密码文件

touch /etc/rsync.passwd

1.4)、创建用户和密码关联数据

echo 'rsync_backup:123456' > /etc/rsync.passwd

1.5)、授权密码文件

chmod 600 /etc/rsync.passwd

img

2)、创建备份的目录

2.1)、创建目录

mkdir /backup

2.2)、将目录的用户修改成rsync

chown rsync.rsync /backup/

3)、启动rsync服务

systemctl start rsyncd

img

部署客户端:db01

1)、安装rsync

yum install rsync -y

2)、开始传输

2.1)、输入密码传输

rsync -avzP /opt/3.txt rsync_backup@172.16.1.41

img

img

2.2)、使用密码文件传输

[root@db01 opt]# echo "123456" > /etc/rsync.passwd
[root@db01 opt]# chmod 600 /etc/rsync.passwd
[root@db01 opt]# rsync -avzP /opt/3.txt rsync_backup@172.16.1.41::backup --  password-file=/etc/rsync.passwd

img

3)、使用变量的方式进行传输

export RSYNC_PASSWORD=123456
rsync -avzP /opt/3.txt rsync_backup@172.16.1.41::backup

img

四,rsync常见报错

img

img

img

posted @ 2022-12-23 20:37  郭小睿  阅读(540)  评论(0编辑  收藏  举报