欧拉系统RSYNC数据同步

2023-12-17 15:55:50

一、简介

rsync 是 linux 系统下的数据同步、备份工具。可实现数据全量备份、增量备份、远端数据同步以及本地数据同步。

二、服务器端配置

1、安装rsync

dnf install rsync

2、查看rsync 版本

rsync –version

3、rsync配置文件

vim /etc/rsyncd.conf

uid?=?rootgid?=?rootuse?chroot?=?yesmax?connections?=?100pid?file?=?/var/run/rsyncd.pidexclude?=?lost+found/log?file=/var/log/rsyncd.logtransfer?logging?=?yeslog?format=%t?%a?%m?%f?%btimeout?=?900[mirror]path?=?/mnt/comment?=?mirrorread?only?=?yeslist?=?yesauth?users?=?rsyncsecrets file = /etc/rsyncd.secrets

注意:匿名用户访问无需添加auth users = rsync和secrets file = /etc/rsyncd.secrets参数,省略创建密码文件步骤。

4、创建rsync管理用户

useradd -s /sbin/nologin -M rsync

5、目录属主属组权限

chown -R rsync:rsync /mnt/

6、创建密码文件

vim?/etc/rsyncd.secrets

rsync:rsync@passwd

7、赋予文件权限

sudo?chmod?600?/etc/rsyncd.secretssudo?chown?root:root?/etc/rsyncd.secrets

8、启动rsync

systemctl start rsyncd;systemctl enable rsyncd

三、同步配置

1、客户端同步配置,查看rsync模块目录列表

rsync -av --list-only?rsync@192.168.10.56::mirror/openeuler/

2、指定账户同步,同步mirror模块下openeuler目录到/opt目录下

rsync -avP --delete rsync://rsync@192.168.10.56/mirror/openeuler ?/opt

3、匿名同步,同步mittor模块下openeuler目录到/opt目录下

rsync -avP --delete rsync://192.168.10.56/mirror/openeuler /opt

4、rsync配置文件参数如下:

port = 873  指定运行端口,默认是873uid=root 服务器端传输文件时,要发哪个用户和用户组来执行,默认nobodygid=root 服务器端传输文件时,要发哪个用户和用户组来执行,默认nobodymax connections=100 客户端最多连接数use chroot=yes       在传输文件之前,服务器守护程序?chroot?到文件系统中的目录中pid file = /var/run/rsyncd.pid 进程信息文件,便于获取进程号停止进程,便于判断服务是否启动log file=/var/log/rsyncd.log rsync 服务器的日志motd file=/etc/rsyncd.motd 定义motd?file?路径rsyncd.motd?内容是定义用户登录服务器信息transfer logging=true 传输文件日志timeout = 300 连接超时时间300秒ignore errors 忽略传输过程小错误hosts allow=192.168.100.0/24 允许访问rsync服务器的客户端白名单hosts deny=0.0.0.0/32        禁止访问rsync服务器的客户端黑名单log format=%t %a %m %f %b默认log格式为:"%o %h [%a] %m (%u) %f %l"%h 远程主机名%a 远程IP地址%l 文件长度字符数%p rsync会话的进程id%o 操作类型:"send"或"recv"%f 文件名%P 模块路径%m 模块名%t 当前时间%u 认证的用户名(匿名时是null)%b 实际传输的字节数%c 当发送文件时,记录文件的校验码dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2 用来指定不进行压缩处理再传输的文件,默认值是*.gz *.tgz *.zip *.z*.rpm *.deb *.iso *.bz2 *.tbz。[mirror]    模块名path=/mnt/  同步的目录exclude=web 同步目录中去除的目录,即web 不同步comment=data  提示信息read only=no 只读选择,如为 yes 则不让客户端上传文件到服务器上list=yes 服务器上提供同步数据的目录是否显示auth users=rsync 认证用户是rsyncsecrets file=/etc/rsyncd.pwd密码文件保存路径,权限必须设置为600,用来认证客户端的秘钥文件。格式 USERNAME:PASSWORD

5、rsync进程端口

netstat?-auntlp?|grep?873ps -ef |grep rsync

6、防火墙策略

防火墙添加rsyncd服务开放,默认端口873firewall-cmd?--add-service=rsyncd?--zone=public?--permanent重新载入防火墙firewall-cmd --reload

7、rsync本地磁盘同步数据

rsync?-vlzrtogp?/mnt/data?/backupsrsync -vlzrtogp /mnt/data/ /backups
  • /mnt/data 表示将整个 /data目录复制到目标目录

  • /mnt/data/ 表示将 data 目录中的所以内容复制到目标目录

8、rsync密码文件

echo?"rsync@passwd"?>/etc/rsyncd.pwd

修改权限

chmod 600 /etc/rsyncd.pwd

9、客户端向服务端推送

rsync服务器设置”read only=yes” 禁止客户端上传文件到服务器上

10、指定路径

rsync -vlzrtopg --progress --delete /mnt/data/ root@192.168.10.56:/data1

11、指定模块路径

rsync -vlzrtopg --progress --delete /mnt/data/ rsync@192.168.10.56::mirror/openeuler/OS --password-file=/etc/rsyncd.pwd

12、客户端从服务端拉取

12.1、指定模块路径

rsync -avz rsync@192.168.10.56::mirror/openeuler /opt/ --password-file=/etc/rsyncd.pwd

12.2、指定目录路径

rsync -avz root@192.168.10.56:/mnt/openeuler /root/

--exclude 参数指定排除的文件或目录信息

rsync -avz --delete /mnt/openeuler/ --exclude=OS/hello --exclude=update rsync@192.168.10.56::mirror/openeuler/everything --password-file=/etc/rsyncd.pwd

12.3、rsync数据同步限流

rsync -vlzrtogp --progress --delete --bwlimit=1000 远程文件 本地文件限制带宽为1000K=KBytes/s

rsync -vlzrtogp --progress --delete --bwlimit=2048 本地文件 远程文件 限制带宽为1000K=2M/s

13、rsync客户端参数如下:

-v, --verbose 详细输出模式-l,?--links?保持符号链接文件-z,?--compress?在传输文件时进行压缩处理-r,?--recursive?对子目录以递归模式处理-t,?--times?保持文件时间信息-o,?--owner??保持文件属主信息(super-user?only)-p,?--perms?保持文件权限-g,?--group?保持文件属组信息--progress?在传输时显示传输过程--delete?删除目标端比本地端多余得文件目录保持数据一致性--exclude=web?指定排除一个不需要传输的文件匹配模式--exclude-from=FILE?从?FILE?中读取排除规则--include=PATTERN?指定需要传输的文件匹配模式--include-from=FILE?从?FILE?中读取包含规则--password-file=FILE?从?FILE?中读取口令,以避免在终端上输入口令--bwlimit=RATE?限制传输?I/O?带宽

探索技术无限可能,博主具有丰富监控模板资源及开发能力和项目管理经验,欢迎添加交流一起探讨,解决你的技术难题!

微信号:king_songax

文章来源:https://blog.csdn.net/MichaelCoCoQ/article/details/135044319
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。