当前位置: 首页 > news >正文

Sersync和Rsync部署

学习参考连接

以下是我在学习过程中借鉴的经验和下载资源链接,感谢几位大佬的帮助,也供各位参考。

Rsync踩坑:

https://blog.csdn.net/XiaoXiaoYunXing/article/details/120160395

Sersync下载源

http://down.whsir.com/downloads/sersync2.5.4_64bit_binary_stable_final.tar.gz

Rsync+Sersync部署配置

https://zhuanlan.zhihu.com/p/489165901

Sersync和Rsync部署

Rsync可以远程同步,支持本地复制,实时同步需要借助第三方工具sersync/inotify

Sersync可以记录下被监听目录中发生变化的(包括增加、删除、修改)具体某一个文件或者某一个目录的名字,然后使用rsync同步的时候

Inotify只能记录下被监听的目录发生了变化(增,删,改)并没有把具体是哪个文件或者哪个目录发生了变化记录下来

1、Rsync服务安装

在master和minion上先安装Rsync服务

执行命令 yum install –y rsync

2、配置rsyncd.conf

vim /etc/rsyncd.conf

uid = root

gid = root

use chroot = no

max connections = 36000

timeout = 600

pid file =/var/run/rsyncd.pid

lock file =/var/run/rsync.lock

log file = /var/log/rsyncd.log

ignore errors = no

read only = no

list = no

hosts allow = 192.168.183.135

hosts deny = *

auth users = root

secrets file =/etc/rsync.password

[backup]

path = /backup/sersync/

# 配置注解:

# uid:指定传输文件时的用户

# gid:指定传输文件时的组

# use chroot true|false:表示在传输文件前首先chroot到path参数所指定的目录下,可以实现安全防护,但缺点是需要以root权限,并且不能备份指向外部的符号连接所指向的目录文件,默认情况下chroot值为true

# max connections:指定最大的连接数,默认是0,即没有限制

# read only ture|false:如果为true,则不能上传到该模块指定的路径下

# list:表示当用户查询该服务器上的可用模块时,该模块是否被列出,true为列出,false为隐藏

# auth users:指定传输时要使用的用户名

# secrets file:指定密码文件,注意该密码文件的权限一定要是600,格式:用户名:密码

# hosts allow:是允许同步的主机,非本机IP,可以是对方IP或者网段,如果是多个中间用空格隔开

# hosts deny:拒绝同步的主机,可以是IP或者网段,如果是多个中间用空格隔开

# [backup]:同步的模块名

# path:同步的路径

3、设置同步用户和密码

这里同步用的root用户,没有专门创建同步用户

rsyncd.conf中secrets file配置选项中的rsync.password

secrets file =/etc/rsync.password

需要在etc下创建rsync.password,保存用户和密码

命令  echo "root:123456" >/etc/rsync.password

改变权限 Chmod +600 /etc/rsync.password

4、创建同步目录

即rsyncd.conf中path配置选项中的目录

[backup]

path = /backup/sersync/

执行命令 mkdir –p /backup/sersync

启动守护进程并写入开机自启动

rsync --daemon --config=/etc/rsyncd.conf

echo "rsync --daemon --config=/etc/rsyncd.conf" >>/etc/rc.local

chmod +x /etc/rc.d/rc.local

tail -1 /etc/rc.local

reboot

systemctl status rc-local.service

netstat -ntlp | grep rsync

5、测试rsync

创建临时同步目录 mkdir –p /var/ftp/pub/sersync/

执行命令

rsync -avzP /var/ftp/pub/sersync/ root@192.168.183.134::backup --password-file=/etc/rsync.password

如果不确定 rsync 执行后会产生什么结果,可以先用-n或--dry-run参数模拟执行的结果

-n参数模拟命令执行的结果,并不真的执行命令。-v参数则是将结果输出到终端

​​​​​​​6、下载部署sersync

可用下载地址如下http://down.whsir.com/downloads/sersync2.5.4_64bit_binary_stable_final.tar.gz

mkdir /usr/local/sersync/

cd /usr/local/sersync/ && mkdir bin conf logs

上传上述下载的包到/usr/local/sersync/

tar –xvf sersync2.5.4_64bit_binary_stable_final.tar.gz

mv GNU-Linux-x86/sersync2 ./bin/sersync

mv GNU-Linux-x86/confxml.xml  ./conf/

​​​​​​​7、配置config.xml

建议拷贝一份在修改 cp confxml.xml confxml.xml.bak

需要把监控的目录数据同步到master指定的模块下,前面写了slave的模块名是backup对应的目录是:/backup/

# 如果系统linux7以上,需要将xfs="false"修改成xfs="true",否则sersync无法递归监控

<fileSystem xfs="true"/>

<localpath watch="/var/ftp/pub/sersync">

<remote ip="192.168.183.134" name="backup"/>

</localpath>

# 指定rsync的虚拟用户和密码文件路径

<rsync>

<commonParams params="-artuz"/>

<auth start="true" users="root" passwordfile="/etc/rsync.password"/>

<userDefinedPort start="false" port="874"/><!-- port=874 -->

<timeout start="false" time="100"/><!-- timeout=100 -->

<ssh start="false"/>

</rsync>

echo "export PATH=$PATH:/usr/local/sersync/bin/" >>/etc/profile

source /etc/profile

which sersync

​​​​​​​8、启动sersync

sersync -d -r -o /usr/local/sersync/conf/confxml.xml

# 参数注解:

# -d:启用守护进程模式

# -r:在监控前,将监控目录与远程主机用rsync命令推送一遍

# -o:指定配置文件,默认使用confxml.xml文件

​​​​​​​9、文件同步测试

在 192.168.183.135上执行以下命令

cd /var/ftp/pub/sersync/

ll

在192.168.183.134上执行以下命令

cd /backup/sersync

ll

在192.168.183.135上创建文件和目录,命令如下

touch {1..10} && mkdir test1 test2 test3

ll

到192.168.183.134:/backup/sersync目录下查看同步结果

文件同步成功

​​​​​​​10、加入开机启动项,重启服务器查看

ln -s  /usr/local/sersync/bin/sersync /usr/local/bin/sersync

echo "sersync -d -r -o /usr/local/sersync/conf/confxml.xml" >>/etc/rc.local

chmod +x /etc/rc.d/rc.local

systemctl status rc-local.service

tail -1 /etc/rc.local

reboot

​​​​​​​11、Rsync参数

-n参数模拟命令执行的结果,并不真的执行命令。-v参数则是将结果输出到终端

--append参数指定文件接着上次中断的地方,继续传输。

--append-verify参数跟--append参数类似,但会对传输完成后的文件进行一次校验。如果校验失败,将重新发送整个文件。

-b、--backup参数指定在删除或更新目标目录已经存在的文件时,将该文件更名后进行备份,默认行为是删除。更名规则是添加由--suffix参数指定的文件后缀名,默认是~。

--backup-dir参数指定文件备份时存放的目录,比如--backup-dir=/path/to/backups。

--bwlimit参数指定带宽限制,默认单位是 KB/s,比如--bwlimit=100。

-c、--checksum参数改变rsync的校验方式。默认情况下,rsync 只检查文件的大小和最后修改日期是否发生变化,如果发生变化,就重新传输;使用这个参数以后,则通过判断文件内容的校验和,决定是否重新传输。

--delete参数删除只存在于目标目录、不存在于源目标的文件,即保证目标目录是源目标的镜像。

-e参数指定使用 SSH 协议传输数据。

--exclude参数指定排除不进行同步的文件,比如--exclude="*.iso"。

--exclude-from参数指定一个本地文件,里面是需要排除的文件模式,每个模式一行。

--existing、--ignore-non-existing参数表示不同步目标目录中不存在的文件和目录。

-h参数表示以人类可读的格式输出。

-h、--help参数返回帮助信息。

-i参数表示输出源目录与目标目录之间文件差异的详细情况。

--ignore-existing参数表示只要该文件在目标目录中已经存在,就跳过去,不再同步这些文件。

--include参数指定同步时要包括的文件,一般与--exclude结合使用。

--link-dest参数指定增量备份的基准目录。

-m参数指定不同步空目录。

--max-size参数设置传输的最大文件的大小限制,比如不超过200KB(--max-size='200k')。

--min-size参数设置传输的最小文件的大小限制,比如不小于10KB(--min-size=10k)。

-n参数或--dry-run参数模拟将要执行的操作,而并不真的执行。配合-v参数使用,可以看到哪些内容会被同步过去。

-P参数是--progress和--partial这两个参数的结合。

--partial参数允许恢复中断的传输。不使用该参数时,rsync会删除传输到一半被打断的文件;使用该参数后,传输到一半的文件也会同步到目标目录,下次同步时再恢复中断的传输。一般需要与--append或--append-verify配合使用。

--partial-dir参数指定将传输到一半的文件保存到一个临时目录,比如--partial-dir=.rsync-partial。一般需要与--append或--append-verify配合使用。

--progress参数表示显示进展。

-r参数表示递归,即包含子目录。

--remove-source-files参数表示传输成功后,删除发送方的文件。

--size-only参数表示只同步大小有变化的文件,不考虑文件修改时间的差异。

--suffix参数指定文件名备份时,对文件名添加的后缀,默认是~。

-u、--update参数表示同步时跳过目标目录中修改时间更新的文件,即不同步这些有更新的时间戳的文件。

-v参数表示输出细节。-vv表示输出更详细的信息,-vvv表示输出最详细的信息。

--version参数返回 rsync 的版本。


文章转载自:
http://chancy.jopebe.cn
http://begar.jopebe.cn
http://astrometer.jopebe.cn
http://amy.jopebe.cn
http://astarte.jopebe.cn
http://acidemia.jopebe.cn
http://chiral.jopebe.cn
http://chordamesoderm.jopebe.cn
http://abstractive.jopebe.cn
http://cardines.jopebe.cn
http://albite.jopebe.cn
http://archaeoastronomy.jopebe.cn
http://backache.jopebe.cn
http://artistical.jopebe.cn
http://autocratical.jopebe.cn
http://accustom.jopebe.cn
http://betcha.jopebe.cn
http://chlorophyll.jopebe.cn
http://akkadian.jopebe.cn
http://burro.jopebe.cn
http://antimechanized.jopebe.cn
http://agonal.jopebe.cn
http://alcoholize.jopebe.cn
http://bluesman.jopebe.cn
http://chez.jopebe.cn
http://chichester.jopebe.cn
http://ascu.jopebe.cn
http://cathect.jopebe.cn
http://brighten.jopebe.cn
http://bunnia.jopebe.cn
http://www.dtcms.com/a/280575.html

相关文章:

  • Keil 5下载的时候提示“No J-Link found”
  • 《恋与深空》中龙和蛇分别是谁的代表
  • 25、企业能源管理(Energy):锚定双碳目标,从分类管控到智能优化的数字化转型之路
  • flutter弹窗:fluttertoast
  • HTTP 性能优化实战:突破高并发瓶颈的工业级方案
  • elasticsearch 下载/安装
  • 飞睿UWB超宽带定位测距技术,数字钥匙重塑智能生活,高精度厘米级定位无感解锁
  • ffmpeg音视频处理大纲
  • HR数字化转型:3大痛点解决方案与效率突破指南
  • QT 中各种坑
  • 基于Scikit-learn的机器学习建模与SHAP解释分析
  • 如何解决 Spring Boot 使用 Maven 打包后运行失败的问题(附详细排查步骤)
  • [雨云教程]端口冲突该如何解决
  • 前端报错:“Uncaught SyntaxError: missing ) after argument list
  • 【学习笔记】条件变量+互斥锁解决问题
  • 快速排序:原理、示例与 C 语言实现详解
  • 区块链的三种共识机制——PoW、PoS和DPoS原理
  • [面试] js 数组面试题
  • LangChain智能体开发实战:从零构建企业级AI助手
  • Ubuntu18.04 系统重装记录
  • Flutter 入门指南:从基础到实战
  • 22.计算指定范围内数字的幂次和
  • 【深度学习优化算法】06:动量法
  • Apriori 原理:快速筛选频繁出现的症状组合
  • B/S架构系统角色与对应协议详解
  • 《C++模板高阶机制解析:非类型参数、特化设计与分离编译实践》
  • CG--类比推理
  • IPsec:网络层的加密盾牌与HTTPS的差异解析
  • 尚庭公寓-----day1----逻辑删除功能
  • URL 转静态 HTML 文件 API 数据接口