linux系统rsync远程数据同步

  • rsync是linux下一个远程数据同步工具,对比两个文件,传输差异部分,传输速度快。
  • Rsync传输过程中可以实行压缩和解压缩,使用更少的宽带。支持匿名传输、方便进行网站镜像。
  • 数据同步方式

数据备份:拉取(下载)

数据恢复:推送(上传)

  • rsync传输模式

本地传输:本地同步数据,类似于cp

远程传输:远程同步数据,类似于scp

守护进程:通过模块化的方式实现批量传输

  • rsync应用
安装:yum -y install rsync

监听端口号:TCP/873

服务启动:systemctl start rsyncd
  • rsync命令使用

格式:Rsync 选项 复制文件 复制到哪

作为远程命令:     

拉取Rsync -avz  指定用户(默认root)@192.168.50.10:/root/mnt  /root

推送rsync -avz  /mnt  指定用户(默认root)@192.168.50.1:/root/

作为rsync服务

拉取 rsync -avz  指定用户(默认root)@192.168.50.10::/root/mnt  /



推送 rsync -avz  /mnt 指定用户(默认root)@192.168.50.1::/root/

  • 配置文件(/etc/rsyncd.conf)

   全局配置:

address    独立运行时,用于指定服务器运行的 IP 地址,默认本地所有IP

port       指定 rsync 守护进程监听的端口号,默认 873

pid file     rsync 的守护进程将其 PID 写入指定的文件

log file     指定 rsync 守护进程的日志文件,而不将日志发送给 syslog

syslog facility   指定 rsync 发送日志消息给 syslog 时的消息级别

socket options  指定自定义 TCP 选项

lockfile   指定rsync的锁文件存放路径

timeout    超时时间

模块配置:

模块配置

path       指定当前模块的同步路径,该参数是必须指定的

comment   给模块指定一个描述

use chroot           在服务运行时要不要把他锁定在家目录,默认为 true

uid和gid            指定rsync运行用户和用户组,默认nobody

use chroot           是否让进程离开工作目录

max connections      最大并发连接数,0为不限制

lock file             指定支持 max connections的锁文件。默认/var/run/rsyncd.lock

list                 指定列出模块列表时,该模块是否被列出。默认为 true

read only          只读选择,默认true

write only         只写选择,不让客户端从服务器上下载文件。默认false

ignore errors     忽略IO错误,默认true

ignore nonreadable 指定 rysnc 服务器完全忽略那些用户没有访问权限的文件。

dont compress      用来指定那些在传输之前不进行压缩处理的文件。

hosts allow  指定哪些主机客户允许连接该模块。默认值为 *

hosts deny  指定哪些主机客户不允许连接该模块

auth users

指定用于上传的用户名

secrets files

指定密码文件

  • 守护进程传输

配置:

uid=rsync

gid=rsync

fake super=yes     # 用于允许非root用户,在备份目录创建文件

list=false              # 默认true,允许查看本机有哪些模块

auth users=rsync_backup  # 用于指定认证用户

secrets file=/etc/rsync.passwd  # 指定认证用户密码

max connections=4                 # 允许最大连接数

read only=false                       # 默认yes,模块目录只读权限

ignore errors                          # 屏蔽错误报错

timeout=900                          # 指定rsync传输超时时间

[backup]

path=/backup

创建用户:

 Useradd -s /sbin/nologin -M rsync

创建认证用户的密码:

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



chmod 600 /etc/rsync.passwd

准本模块目录:

mkdir /backup

chown rsync.rsync /backup

重启服务:

systemctl restart rsyncd

客户端远程传输:

rsync -avz /etc/hosts [email protected]::backup

客户端通过密码文件实现免密传输:

vim /etc/rsync.passwd

123456

chmod   600 /etc/rsync.passwd

rsync -avz /etc/hosts [email protected]::backup     --password-file=/etc/rsync.passwd

如图linux系统rsync远程数据同步_第1张图片

 linux系统rsync远程数据同步_第2张图片

 

 linux系统rsync远程数据同步_第3张图片

你可能感兴趣的:(linux,服务器,运维,网络)