rsync实时监控以及守护进程

2022/1/2 7:08:02

本文主要是介绍rsync实时监控以及守护进程,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

rsync守护进程模式

服务端的操作

1、安装
[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

"
[backup]
comment = welcome to backup!
path = /backup (备份目录)
[linux]
comment = welcome to linux!
path=/tmp/linux (备份目录)
"

3、创建系统用户
[root@backup opt]# groupadd rsync -g 666
[root@backup opt]# useradd rsync -u 666 -g 666 -M -s /sbin/nologin -r

4、创建密码文件
"新创建rsync.passwd,写入虚拟认证用户的密码"
[root@backup opt]# echo "rsync_backup:123456" > /etc/rsync.passwd

5、授权(必须授权为600
[root@backup opt]# chmod 600 /etc/rsync.passwd

6、创建备份目录
[root@backup opt]# mkdir /backup
[root@backup opt]# mkdir /tmp/linux

7、目录授权
[root@backup opt]# chown rsync.rsync /backup/
[root@backup opt]# chown rsync.rsync /tmp/linux/

8、关闭防火墙和selinux
[root@backup opt]# systemctl disable --now firewalld
[root@backup opt]# setenforce 0

9、启动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实时同步

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 卸载
    
3、先尝试此步骤开始监控(插图1)
[root@m01 ~]# /usr/bin/inotifywait  -mrq  --format '%Xe  %w  %f' -e create,modify,delete,attrib,close_write  /root

4.开始实时监控并同步(插图2)
/usr/bin/inotifywait  -mrq  --format '%Xe  %w  %f' -e create,modify,delete,attrib,close_write  /root | while read line;do
	rsync -avzP --delete --password-file=/etc/rsync.passwd ./* rsync_backup@172.16.1.41::backup
done
# 客户端需要打开两个端口 一个端口实时监控 一个端口操作文件,服务端需要cd 至 选择的将数据同步到的目录

插图1)

插图2)

至此结束rsync的守护进程

如果在部署期间遇到问题可以留言哦,博主白天都会守在电脑前



这篇关于rsync实时监控以及守护进程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程