linux实时监控并实时备份数据(rsync)
2021/12/30 7:09:20
本文主要是介绍linux实时监控并实时备份数据(rsync),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录- 一:rsync实时监控备份流程
- 1.安装rsync(服务端 与 客服端)
- 2.修改配置文件(服务端)
- 3.解析配置内容
- 4.创建系统用户
- 5.创建密码文件
- 6.授权(必须授权为600)
- 7.创建备份目录(创建模块目录)
- 8.目录授权(模块目录)
- 9.关闭防火墙和selinux
- 10.启动rsyncd服务
- 二:客户端(备份三种方式)
- 三:rsync实时同步(产生数据立刻备份)
- 1.安装inotify(装在客户端)
- 2.inotify参数介绍
- 四:开始实时监控
- 1.开启客户端(复制)
- 2.实时监控
- 五:实时监控并同步实时备份
一: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
这篇关于linux实时监控并实时备份数据(rsync)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23linux 系统宝塔查看网站访问的命令是什么?-icode9专业技术文章分享
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南