Rsync远程同步与Inotify监控与同步

文章介绍了rsync命令的使用,包括本地和远程同步,如归档、删除、压缩等选项。同时,讲解了如何通过inotify实现文件系统变更的实时监控,以及设置无密码SSH同步。最后,示例了一种结合inotifywait和rsync进行实时同步的脚本方法,用于自动推送到远程服务器。
摘要由CSDN通过智能技术生成
  • rsync基本使用

---rsync概述(Remote Sync 远程同步)

  1. 支持本地复制,或与其他SSH,rsync主机同步
  2. 官方网站:http://rsync.samba.org/

---rsync同步操作

  • 命令用法:rsync  [选项]  源目录  目标目录
  • 同步与复制的差异

复制:完全拷贝源到目标

同步:增量拷贝,只传输变化过的数据

  • rsync操作选项:

-n:测试同步过程,不做实际修改

--delete:删除目标文件夹内多余的文档

-a:归档模式

-v:显示详细操作信息

-z:传输过程中启用压缩/解压

-r:递归,包括目录/子目录及所有文件

-l:保留符号链接文件

-p,-t:保留文件的权限,时间标记

-o,-g:保留文件的属主/属组标记

-D:保留设备文件及其他特殊文件

  • rsync本地同步

rsync   [选项...]   本地目录1      本地目录2

rsync   [选项...]   本地目录1/     本地目录2

#mkdir /todir
#rsync -a --delete /boot /todir   #同步整个文件夹
#rsync -a --delete /boot/ /todir  #只同步文件夹下的数据
#ls /todir
boot    
grub  config-2.6.18-348.el5
  • rsync远程同步(rsync+ssh)

---与远程的SSH目录保持同步

rsync -a --delete user@host:远程目录    本地目录   #将远程主机的目录下载到本地目录下

rsync -a --delete 本地目录         user@host:远程目录   #将本地目录上传至远程主机上

---服务端要求

开启sshd服务,并且提供授权的用户,密码


  • inotify实时同步

---实现无密码验证

1.在svr123生成公钥,私钥
#ssh-keygen
#ls /root/.ssh/
id_rsa    id_rsa.pub     known_hosts

2.传递公钥到pc207
#ssh-copy-id root@192.168.4.207

3.在pc207上查看
#ls /root/.ssh/
authorized_keys

4.在svr7上测试无密码同步
#rsync --delete -avz   /todir/   root@192.168.4.207:/opt/    #将svr7/todir/目录下的数据上传到pc207/opt/目录下(--delete:多增少补 -avz:归档压缩并显示详细过程)

---同步的实时性

  • Linux内核的inotify机制
  1. 提供事件响应式的文件系统通知机制
  2. 安装inotify-tools控制工具可调用此机制实现监控

---安装inotify-tools工具

  • 参考下载地址:http://download.sf.net/inotify-tools/
  • 标准的源码,编译安装即可
#tar -xf inotify-tools-3.13.tar.gz
#cd inotify-tools-3.13
#./configure
#make && make install

---inotifywait监控

  • 基本用法:inotifywait     [选项]   目标文件夹
  • 常用命令选项:

-m:持续监控(捕获一个事件后不退出)

-r:递归监控,包括子目录及文件

-q:减少屏幕输出信息

-e:指定监控的modify, move, create, delete, attrib等


  • 同步脚本书写

---inotify与rsync的结合(利用while循环来反复检查单次监控结果)

实现从本地到远程的WEB目录推送:
本地svr123
远程服务器207
#vim /root/isync.sh
#!/bin/bash
while inotifywait -rqq -e modify,move,create,delete,attrib /var/www/html
do
  rsync -az --delete /var/www/html    root@192.168.4.207:/var/www/html
done &
#chmod +x /root/isync.sh

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值