centos7.4 Rsync配置和触发备份

网友投稿 315 2022-11-12

centos7.4 Rsync配置和触发备份

rsync是一个快速的备份工具,可以在不同主机间镜像同步整个目录树,简单来说就是备份一台服务器A数据到另一台B上,A有变化则同步到B,还可反向备份

本例:192.168.80.81 rsync同步源(被备份)备份源服务器192.168.80.82 rsync客户机(目标主机)发起端

1.备份源服务器80.81配置:

yum install -y rsync //7.4系统默认已安装,不需要额外安装vi /etc/rsyncd.conf //以下配置rsync,原配置文件全删除,添加以下

uid = nobody //rsync默认使用nobody用户gid = nobodyuse chroot = yes //禁锢在源目录/var/= 192.168.80.81 //自己的地址port 873 //默认端口log file = /var/log/rsyncd.logpid file = /var/run/rsyncd.pidhosts allow = 192.168.80.0/24 //允许的客户机网段[ //共享模块名称path = /var/ //源目录实际路径comment = Document Root of aa.com //描述备注信息read only = yes //只读 no 可读可写则是yesdont compress = .gz .bz2 .tgz .zip .rar .z //排除的压缩类型auth users = backuper //授权登陆rsync的账户(不是系统用户)secrets file = /etc/rsyncd_users.db //存放账户的文件

根据上面配置文件里建立虚拟用户配置文件并设置恰当的权限vi /etc/rsyncd_users.dbbackuper:abc123 chmod 600 /etc/rsyncd_users.db

启动、关闭rsync程序---rsync --daemonnetstat -anpt | grep rsynckillall -3 rsync

2.192.168.80.82客户机(发起端)的同步测试:

这里分为两种模式:ssh源和rsync源

①客户机使用rsync源同步:下行同步:(本机和80.81保持一致)rsync -avz backuper@192.168.80.81::/aaa//把同步源服务器80.81分享的目录提示输入backuper密码abc123

还可逆向(反向,上行)同步:(80.81和本机保持一致)rsync -avz /aaa backuper@192.168.80.81::only=no ,还有系统中-R nobody /var/RSYNC_PASSWORD=abc123

下面举几个备份同步的例子:A例:80.81里有a b c d e80.82里空 执行rsync -avz backuper@192.168.80.81::/aaa后80.82里有a b c d e

B例:80.81里有a b c d e f80.82里有a b c d e g

执行rsync -avz backuper@192.168.80.81::/aaa80.82里有a b c d e f g (把本地没有的f同步过来了)

执行rsync -avz --delete backuper@192.168.80.81::/aaa80.82里有a b c d e f (delete参数是删除本地有但同步源没有的文件g)这条命令就是将同步源和客户机文件完全保持一致了

rsync -avz --delete A B将B完全同步和A一致 不管正向还是反向同步 和A一致

rsync -avz A B把A同步到B里,A里有的全部同步到B

②客户机使用ssh源同步:原理基本和rsync一致,但使用ssh源,同步源服务器80.81就不要配置配置文件了,直接启动rsync服务即可下行同步:rsync -avz root@192.168.80.81:/bin/ /aaa//把同步源服务器80.81分享的目录下载到本地/aaa,全部使用绝对路径,和scp命令相似(注意使用的是root用户)

逆向同步:rsync -avz /aaa/ root@192.168.80.81:/opt///把本机文件/aaa同步到同步源服务器80.81/opt/目录下(需要在80.81系统中/opt/开启写入权限)

如果避免交互的话需要配置公钥验证:ssh-keygen -t rsa 本机80.82生成密钥ssh-copy-id root@192.168.80.81 把私钥传给80.81服务器

举例同上rsync源

两种不同源的格式比较:rsync -avz root@192.168.80.81:/bin/ /aaa ssh源rsync -avz backuper@192.168.80.81::/aaa rsync源

3.如何实现源80.81上面分享的文件/etc/sysctl.d/te.conf //自己创建的te.conf文件fs.inotify.max_queued_events = 16384 //监控队列大小fs.inotify.max_user_instances = 1024 //最多监控实例数fs.inotify.max_user_watches = 1048576 //每个实例最多监控文件数sysctl -p

②编译安装inotifytar xf inotify-tools-3.14 //需要自行下载cd /opt/inotify-tools-3.14/./configuremake && make install

③测试监控效果inotifywait -mrq -e modify,create,move,delete /var/出现修改创建重命名删除等动作 会有输出显示(这条命令是前台运行的,需要复制putty会话,来测试查看)m(持续监控)r(递规整个目录)q(简化输入信息) -e(指定监控的事件)

④可通过脚本来自动触发备份vi a.sh#!/bin/bashINOTIFY_CMD="inotifywait -mrq -e modify,create,attrib,move,delete /opt/"RSYNC_CMD="rsync -azH --delete backuper@192.168.80.81::/aaa/"$INOTIFY_CMD | while read DIRECTORY EVENT FILEdoif [ $(pgrep rsync | wc -l) -le 5 ] ; then$RSYNC_CMDfidone

sh a.sh & //默认前台运行,需要挂在后台运行

⑤测试触发备份:在80.81的/var/www/html里创建或者删除文件,到80.82上的/aaa/里查看相应变化,会实时同步

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:centos7.4搭建Memcached(1)
下一篇:Java实现PDF转为线性PDF详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~