博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
rsync+inotifywait
阅读量:5057 次
发布时间:2019-06-12

本文共 2225 字,大约阅读时间需要 7 分钟。

0、rsync+inotify是实现文件实时同步的,加什么参数才能实现实时同步,--delete参数又是什么意思?

1.运行模式(服务器)

    rsync有两种常用的认证方式,一种是rsync-daemon方式,我们使用最多的是rsync-daemon方式。

    这种模式是基于C/S模式的,rsync在后台启用了一个守护进程,这个守护进程在rsync服务器永久运行,用于接收请求传输文件,因此,客户端既可以把文件推送(push)给守护进程,也可以向守护进程拉取(pull)文件。rsync的服务器模式非常适合为异地的中心备份服务器或数据异地存储库来使用。

我的实验架构:

                                    10.1.1.36    ---------------push---------------------10.1.185

                                     (client)                                                          (server)

2.安装配置

a.在客户端10.1.1.36(这是一台邮件服务器)vim /etc/rsyncd.pass  (写入123456)   

chmod 600 /etc/rsyncd.pass
yum install rsync -y

b.在服务端10.1.1.85(专门用来备份的机器)

yum install rsync -y

创建 mkdir /data/test,首先进行配置文件的设定,我们设置的如下:

# cat /etc/rsyncd.confuid = rootgid = rootuse chroot = nomax connections = 10pid file = /var/run/rsyncd.pidlog file = /var/log/rsync.logtransfer logging = yestimeout = 900ignore nonreadable = yesdont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2[nextcloud]path = /data/nextcloudcomment = pan.comratings.comread only = nowrite only = nohosts allow = 10.0.2.30list = noignore errorsauth users = backupsecrets file = /etc/rsyncd.pass

   增加密码认证文件:(在服务端)

# vim /etc/rsyncd.passbackup:123456  
chmod 600 /etc/rsyncd.pass

 

   启动服务器:

systemctl start rsyncd.service

在10.1.1.36(client)rsync -vzrtopg  --progress ./ --password-file=/etc/rsyncd.pass backup@10.1.1.85::test   ------push   增量推送  把  ./下的文件增量得同步到10.1.1.85:/data/test/下

在10.1.1.36 (client) rsync -vzrtopg  --progress  --password-file=/etc/rsyncd.pass backup@10.1.1.85::test   ./  -------pull   增量拉下   把10.1.1.85:/data/test/下文件增量拉到36的./

 

v是“--verbose”显示详细输出模式z是“--compress”压缩模式r是“--recursive”以子目录递归模式t是“--times“用来保持文件信息时间o是”--owner“用来保持文件的属主信息p是”--perms“用来保持文件权限g是”--group“用来保持文件的属组--progress:用来显示数据镜像同步的过程--delete:指定以rsync服务器为基准进行数据镜像同步,也就是要保持rsync服务器端目录与客户端目录的完全一致 rsync中的-delete参数是指“ 删除那些DST中SRC没有的文件”。--exclude:用于排除不需要文件传输的类型 下面是我在客户端的小脚本,把客户端本地的文件同步到rsync服务器 通过inotifywait 中的-m参数可以实现“始终保持事件监听状态”

#!/bin/bash

#author:xiaoweige
host_slave=10.1.1.85
master_src=/data/test/
inotify_home=/usr/local/inotify

${inotify_home}/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e close_write,modify,delete,create,attrib $master_src \

| while read file

do

echo $file
rsync -vzrtopg --progress /data/test/ --password-file=/etc/rsyncd.pass backup@10.1.1.85::test

done

转载于:https://www.cnblogs.com/hixiaowei/p/8317141.html

你可能感兴趣的文章
联想 Thinkpad X230 SLIC 2.1 Marker
查看>>
python scrapy 爬取西刺代理ip(一基础篇)(ubuntu环境下) -赖大大
查看>>
关于翻译app的一些个人化看法分析
查看>>
ELK原理与介绍
查看>>
Java开发知识之JAVA的反射
查看>>
python -m SimpleHTTPServer 80801
查看>>
【WPF】闲着没事,写了个支持数据列表分页的帮助类
查看>>
如何延长IntelliJ IDEA的试用期?
查看>>
python与 Ajax跨域请求
查看>>
CentOS7下安装Docker-Compose No module named 'requests.packages.urllib3'
查看>>
同一个Controller里的同一个Service实例,在当前的Controller里的不同方法中状态不一致...
查看>>
Java多线程-线程池
查看>>
采集网站特殊文件Meta信息
查看>>
DRF分页组件
查看>>
.NET基础操作回顾_使用ADO.NET操作SqlServer使用的类
查看>>
React中redux表单编辑
查看>>
uCGUI 驱动LCD提速 STM32F主芯
查看>>
response.setContentType()的作用及参数
查看>>
rabbitmq 死信邮箱配置(dead-letter)
查看>>
注入 Istio sidecar
查看>>