一:rsync实时监控备份流程

1.安装rsync(服务端 与 客服端)守护进程模式
[root@backup ~]# yum install -y rsync

2.修改配置文件(服务端)
[root@m01 ~]# vim /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]
comment = welcome to backup!
path = /backup
[linux]
comment = welcome to linux!
path=/tmp/linux
3.解析配置内容
配置文件详解
uid = rsync #启动服务的用户id(启动应用程序系统用户)
gid = rsync #启动服务用户的组id
port = 873 #服务默认监听端口
fake super = yes #无须使用root用户启动
use chroot = no #安全机制
max connections = 200 #最大连接数
timeout = 600 #超时时间
ignore errors #忽略错误
read only = false #只读权限
list = false #用户端查看模块列表(False)
auth users = rsync_backup #定义虚拟用户(rsync传输过程使用的用户)同步数据用户
secrets file = /etc/rsync.passwd #定义虚拟用户的密码
log file = /var/log/rsyncd.log #日志文件
#####################################
[backup] #模块
comment = welcome to oldboyedu backup! #模块的备注
path = /backup #服务器真实的路径
[linux]
comment = welcome to linux!
path=/tmp/linux 解析:
添加几个模块都可以,
作用:
使用备份,填写那个模块就自动备份到模块路径下了。
4.创建系统用户
[root@backup opt]# groupadd rsync -g 666
[root@backup opt]# useradd rsync -u 666 -g 666 -M -s /sbin/nologin -r
5.创建密码文件
[root@backup opt]# echo "rsync_backup:123456" > /etc/rsync.passwd
6.授权(必须授权为600)
[root@backup opt]# chmod 600 /etc/rsync.passwd
7.创建备份目录(创建模块目录)
[root@backup opt]# mkdir /backup
[root@backup opt]# mkdir /tmp/linux
8.目录授权(模块目录)
[root@backup opt]# chown rsync.rsync /backup/
[root@backup opt]# chown rsync.rsync /tmp/linux/
9.关闭防火墙和selinux
[root@backup opt]# systemctl disabel --now firewalld
[root@backup opt]# setenforce 0
10.启动rsyncd服务
[root@backup opt]# systemctl start rsyncd

二:客户端(备份三种方式)

方法一:自己输入密码
[root@m01 ~]# rsync -avzP ./* rsync_backup@172.16.1.41::backup rsync_backup : 虚拟用户,只在数据传输时使用
172.16.1.41 : backup服务端的IP
backup : 模块名称

方法二:设置密码文件,运行时读取

	1、编写密码文件(在客户端需要密码 服务端需要用户和密码)
[root@backup opt]# echo "123456" > /etc/rsync.passwd 2、授权
[root@m01 ~]# chmod 600 /etc/rsync.passwd 3、连接
[root@m01 ~]# rsync -avzP --password-file=/etc/rsync.passwd ./* rsync_backup@172.16.1.41::linux 作用:
使用密码文件

方法三:添加环境变量
1、定义环境变量
export RSYNC_PASSWORD=123456 2、同步
[root@m01 ~]# rsync -avzP ./* rsync_backup@172.16.1.41::linux

三:rsync实时同步(产生数据立刻备份)

  • inotify简介
rsync是不支持实时同步的,通常我们借助于inotify这个软件来实时监控文件变化,一旦inotify监控到文件变,则立即调用rsync进行同步。
  • 两种结合 取长补短(实现实时同步)
1.安装inotify(装在客户端)
[root@web01 ~]# yum -y install inotify-tools

2.inotify参数介绍
-m 持续监控
-r 递归
-q 静默,仅打印时间信息
--timefmt 指定输出时间格式
--format 指定事件输出格式
%Xe 事件
%w 目录
%f 文件
-e 指定监控的事件
access 访问
modify 内容修改
attrib 属性修改
close_write 修改真实文件内容
open 打开
create 创建
delete 删除
umount 卸载

四:开始实时监控

  • 测试开启实时监控客户端数据
[root@m01 ~]# /usr/bin/inotifywait  -mrq  --format '%Xe  %w  %f' -e create,modify,delete,attrib,close_write  /root
1.开启客户端(复制)

2.实时监控

五:实时监控并同步实时备份

[root@m01 ~]# /usr/bin/inotifywait  -mrq  --format '%Xe  %w  %f' -e create,modify,delete,attrib,close_write  /root | while read line;do
cd /root
rsync -avzP --delete --password-file=/etc/rsync.passwd ./* rsync_backup@172.16.1.41::backup
done

最新文章

  1. hbase集群安装与部署
  2. Linux 下 netbeans 字体抗锯齿正解
  3. ajax+json+Struts2实现list传递实例讲解
  4. 在线制作h5——上帝的礼物
  5. windows中的上帝模式开启方法
  6. 一个QMLListView的例子--
  7. BZOJ 3999 旅游
  8. SPRING IN ACTION 第4版笔记-第十一章Persisting data with object-relational mapping-004JPA例子的代码
  9. 无责任Windows Azure SDK .NET开发入门篇三[使用Azure AD 管理用户信息--3.5 Delete删除用户]
  10. Mac下使用Web服务器性能/压力测试工具webbench、ab、siege
  11. Html辅助方法 之 Form表单标签
  12. Windows Server 2012 R2超级虚拟化之七 远程桌面服务的增强
  13. Layoutinlater 转
  14. JSP的三种注释方式
  15. python_8_字典
  16. ThreadLocal用例之周期为一次请求的变量
  17. STL--multiset用法
  18. Python开发:Python2和Python3的共存和切换使用
  19. bzoj 2049: [Sdoi2008]Cave 洞穴勘测 (LCT)
  20. Android为TV端助力 关于线程的那些事

热门文章

  1. 【LeetCode】1182. Shortest Distance to Target Color 解题报告 (C++)
  2. 【LeetCode】9. Palindrome Number 回文数
  3. 在Latex 下写毕业论文
  4. 替代RTD2166|CS5212直接Pin to pin兼容替代RTD2166|替代RTD2166方案
  5. Spring企业级程序设计作业目录(作业笔记)
  6. Java初学者作业——用户输入一个小数,程序分解出整数部分和小数部分。
  7. HTML网页设计基础笔记 • 【第2章 排列页面内容】
  8. VUE的学习_从入门到放弃(一)
  9. SpringBoot集成MyBatis-Plus自定义SQL
  10. URL中使用IPv4,IPv6和主机名