首页 > 其他分享 >rsync+inotfiy文件同步

rsync+inotfiy文件同步

时间:2024-09-25 18:52:36浏览次数:9  
标签:rsync 同步 -- www etc file inotfiy data

                                  rsync+inotfiy文件同步

1.部署rsync服务

yum install rsync  #安装rsync,如果嫌yum版本过低也可以源码安装

2.vim /etc/rsyncd.conf #默认rsync没有配置文件,创建一个,文件中#和汉字仅为注释,使用中请将所有注释清除

#Rsync server
uid = root
gid = root
use chroot = no                         # 安全相关
max connections = 2000                  # 并发连接数
timeout = 600                           # 超时时间(秒)
pid file =/var/run/rsyncd.pid           # 指定rsync的pid目录
lock file =/var/run/rsync.lock          # 指定rsync的锁文件【重要】
log file = /var/log/rsyncd.log          # 指定rsync的日志目录
ignore errors                             #忽略一些I/O错误
read only = false                       #设置rsync服务端文件为读写权限
list = false                            #不显示rsync服务端资源列表
hosts allow = 10.1.0.0/16               #允许进行数据同步的客户端IP地址,可以设置多个,用英文状态下逗号隔开
hosts deny = 0.0.0.0/32                 #禁止数据同步的客户端IP地址,可以设置多个,用英文状态下逗号隔开
auth users = rsync_backup               #执行数据同步的用户名,可以设置多个,用英文状态下逗号隔开
secrets file =/etc/rsync.password       #用户认证配置文件,里面保存用户名称和密码
#################################################
[www]                                   # 模块 
comment = www 
path = /data/www/
#################################################
[bbs]
comment = bbs
path = /data/bbs/
#################################################
[blog]
comment = blog
path = /data/blog/
#rsync_config____________end

:wq!  #保存,退出

3、创建用户认证文件

echo  "rsync_backup:123456">/etc/rsync.password  #配置密码文件

4、设置文件权限


chmod 600 /etc/rsync.password

5.启动守护进程,并写入开机自启动


rsync --daemon
vim /etc/rc.local
# rsync server progress
/usr/bin/rsync --daemon

6.创建相关待同步的目录


mkdir -p /data/{www,bbs,blog}

 

#rsync客户端配置


1.安装rsync,方法同上

2.创建rsync配置文件,客户端创建即可,无需内容


touch  /etc/rsyncd.conf

3.配置rsync客户端相关权限认证:


echo "123456">/etc/rsync.password
 chmod 600 /etc/rsync.password

4.创建待同步数据,在客户端创建一些数据


mkdir -p /data/{www,bbs,blog}
touch /data/www/www.log /data/bbs/bbs.log  /data/blog/blog.log

5.测试rsync是否同步

rsync  -avzP /data/www/ [email protected]::www/   --password-file=/etc/rsync.password
#此步骤必须成功才能进行下一步

yum install inotify-tools #安装inotify

echo 50000000 > /proc/sys/fs/inotify/max_user_watches

echo 327679 > /proc/sys/fs/inotify/max_queued_events

6.编写inotify脚本

vim rsync.sh
[root@lb02 www]# vim /root/rsync.sh 

#!/bin/bash 
srcdir='/data/www/'
dstdir='www'
dstip="10.1.1.250"
user=rsync_backup
/usr/bin/inotifywait   -mrq  --timefmt '%d/%m/%t %H:%M' --format '%T %w%f%e' -e close_write,modify,delete,create,move $srcdir | while read file
do
    for ip in $dstip
        do
            cd $srcdir
            rsync  -avzP --progress --delete $srcdir  $user@$dstip::$dstdir   --password-file=/etc/rsync.password
            echo " $file " >> /tmp/rsyncd.log 2>&1
        done
done

chmod +x rsync.sh

./rsync.sh #启动inotify

 

几种同步方法:

Rsync –anH 本地目录 远程IP:具体目录(回车之后提示输入root密码,相当于拷贝)

例如:

Rsync –avH /usr/local/src 192.168.0.2:/bak/test/  -》把src整个目录拷到test内

Rsync –avH /usr/local/src/ 192.168.0.2:/bak/test/  ->把src目录内的所有文件拷贝到test内

Rsync –anH 远程IP:具体目录  本地目录—>远程同步到本地,需要root密码

Rsync –anH rsync用户@IP::模块 本地目录  -->从服务器模块同步到本地目录

注:配置常见问题及解决办法:http://blog.chinaunix.net/uid-26569333-id-3067813.html







"一劳永逸" 的话,有是有的,而 "一劳永逸" 的事却极少



标签:rsync,同步,--,www,etc,file,inotfiy,data
From: https://blog.51cto.com/u_8901540/12111459

相关文章

  • 集群中使用chronyc同步时间
    在集群之中,有些服务器之间的时间需要同步,但并不是所有机器可以直接连外网,这时可以用Chrony工具解决。 解决方法是将其中一台设为时间服务器,然后其它服务器和这台时间服务器同步即可。具体步骤如下:一.配置时间服务器Chrony时间服务器上: [root@openstack-controller~]#systemctl......
  • 企业如何通过ETL工具实现主数据的同步
    1、主数据的定义与重要性主数据,作为企业的核心数据资产,涵盖了客户、产品、供应商、员工等关键业务实体信息。这些数据的稳定性、共享性和对决策的影响力,使其成为企业运营和战略决策不可或缺的基础。主数据的质量与一致性直接关系到企业运营效率、客户体验及市场竞争力。2、ETL在主......
  • 利用 Flink CDC 实现实时数据同步与分析
    1.概述1.1简要介绍什么是FlinkCDC(ChangeDataCapture)FlinkCDC(ChangeDataCapture)是一种用于实时捕获和处理数据库中数据变更的技术。它通过监控数据库的变更事件,将这些事件转化为流式数据,使得数据处理系统(如ApacheFlink)能够以流的方式实时处理和分析数据。FlinkC......
  • 基于异步通讯事件触发的二阶离散系统同步算法设计
    精确计时在时间敏感的工业物联网(IIoT)中起着关键作用。然而,精确的时间同步需要更频繁的数据包交换,这会消耗更多的通信带宽和能量。这在电池供电的无线节点中是一个特别的挑战,低通信成本已成为时钟同步的重要因素。为了应对分布式无线传感器网络中实现低通信成本时钟同步的挑......
  • RK3588系统联网无法同步时区问题
    OS:Android13 接上sim卡,有正常的4G网络出来,但时区没有自动更新过来.看代码里面def_auto_time_zone是打开的,device/rockchip/common也没有看到有重新赋值。packages/SettingsProvider/res/values/defaults.xml:31:<boolname="def_auto_time_zone">true</bo 解决方案......
  • 使用Promise将异步操作变为同步
    letpromise=newPromise(function(resolve,reject){//异步操作letsuccess=true;//这是一个假设的条件if(success){resolve("操作成功");}else{reject("操作失败");}});Promise可以处于以下三种状态之一:Pending(......
  • 分类预测 | Matlab实现FA-FS-SVM萤火虫算法同步优化特征选择结合支持向量机分类预测
    分类预测|Matlab实现FA-FS-SVM萤火虫算法同步优化特征选择结合支持向量机分类预测目录分类预测|Matlab实现FA-FS-SVM萤火虫算法同步优化特征选择结合支持向量机分类预测效果一览基本介绍程序设计参考资料效果一览基本介绍Matlab实现FA-FS-SVM萤火虫算法同步优化特征选择结合......
  • 网络时间同步服务器 gps时钟服务器 北斗时间同步服务器
    北斗GPS卫星授时服务器运行介绍北斗GPS卫星授时服务器的运行,主要是接收卫星信号,获取准确的时间信息。通过NTP协议,或者PTP协议的方式对外输出时间。例如西安同步电子科技有限公司的SYN2136系列服务器也可以同通过串口RMC语句的方式进行输出。在这个过程中,不可避免的会遇到冷启动,热启......
  • cnblogs的GitHub同步markdown文件的blog如何识别文章的唯一性(身份ID如何判定)
    本篇blog是写在GitHub的对应的仓库中的。cnblogs会给终身用户提供一个把GitHub仓库中的markdown文件同步到cnblogs上的一个服务,本文就是使用这个服务同步到个人blog地址的:https://cnblogs.com/xyz问题1:何时触发blogs的同步?当仓库中的markdown文件有更新时,cnblogs会自动同......
  • innobackupex定时全备,增量备份,压缩备份,自动同步到远程服务器脚本
    全量备份#!/bin/bash#设置变量mysql_backup_dir=/data/backup/mysql/mysql_username="yours"mysql_password="YOURS"#进入备份目录cd$mysql_backup_dir#生成当前时间戳timeStart=$(date'+%Y%m%d%H%M%S')logfile=full-$timeStart.log#执行全量备份/usr......