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 = # 并发连接数
timeout = # 超时时间(秒)
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/ #允许进行数据同步的客户端IP地址,可以设置多个,用英文状态下逗号隔开
hosts deny = 0.0.0.0/ #禁止数据同步的客户端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  /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 "">/etc/rsync.password
chmod /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/ rsync_backup@172.16.1.25::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 >&
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+inotfiy文件同步的更多相关文章

  1. rsync+inotify文件同步 - 同步慢的问题

    rsync+inotify文件同步 - 同步慢的问题 我们来看网上的教程,我加了注释.(网上所有的教程基本都一模一样,尽管写法不一样,致命点都是一样的) #!/bin/bash /usr/bin/in ...

  2. rsync+inotify文件同步

    rsync+inotify文件同步 在服务器中,通常结合计划任务.shell脚本来执行本地备份.为了进一步提高备份的可靠性,使用异地备份也是非常重要的,利用rsync工具,可以实现快速.高效的异地备份 ...

  3. Linux下简单粗暴使用rsync实现文件同步备份【转】

    这篇来说说如何安全的备份,还有一点不同的是上一篇是备份服务器拉取数据,这里要讲的是主服务器如何推送数据实现备份. 一.备份服务器配置rsync文件 vim /etc/rsyncd.conf #工作中指 ...

  4. Linux Rsync实现文件同步备份(转载)

    原文地址:Linux Rsync实现文件同步备份作者:夷北 转自:http://www.mike.org.cn/blog/index.php?load=read&id=639###pp=0 [ ...

  5. inotify配合rsync实现文件同步

    一.slave端rsync设置在此部署rsync服务和rsync daemon 1.安装rsync   2.配置rsyncd.conf文件#vi /etc/rsyncd.conf配置文件uid = r ...

  6. CentOS安装和配置Rsync进行文件同步

    Liunx系统实现文件同步不需要搭建FTP这类的工具,只需要按照Rsync配置下文件就可以. 本文以Centos7.0为例. 1. 首先关闭SELINUX(不关闭无法同步,权限太高了) vi /etc ...

  7. centos7 使用rsync 实现文件同步

    一.服务端(192.168.8.81): 安装软件: yum -y install rsync 创建需同步的目录: mkdir -p /home/root/rsync 编辑配置文件:vim /etc/ ...

  8. Rsync实现文件同步的算法(转载)

    Rsync文件同步的核心算法 文章出处:http://coolshell.cn/articles/7425.html#more-7425 rsync是unix/linux下同步文件的一个高效算法,它能 ...

  9. Centos7利用rsync实现文件同步

    0x01 测试环境 CentOS 7.4 Rsync服务端:192.168.204.130 CentOS 7.4 Rsync客户端:192.168.204.168 0x02 rsync同步方式 第一种 ...

随机推荐

  1. 关于 php json float 出现很多位的问题

    关于 php json float 出现很多位的问题 serialize_precision http://php.net/manual/en/ini.list.php https://wiki.ph ...

  2. Javascript 中 的 for ... in 和 for ... of 差别

    Javascript 中 的 for ... in 和 for ... of 差别 for ... in 是历史问题,在循环数据时会可以出现奇怪的问题,比如把数据的属性循环出来. for ... of ...

  3. jmeter ---断言持续时间(Duration to Assert )和断言文件大小

    jmeter ---断言持续时间(Duration to Assert )和断言文件大小 1.断言持续时间(Duration to Assert ) Duration to Assert -- 允许的 ...

  4. hadoop append 追加文件错误

    java.io.IOException:Failed to replace a bad datanode on the existing pipeline due to no more good da ...

  5. Oracle和SQL语句的优化策略(基础篇)

    转载自: http://blog.csdn.net/houpengfei111/article/details/9245337 http://blog.csdn.net/uniqed/article/ ...

  6. mwan3多wan叠加成功

    参考: http://www.right.com.cn/forum/forum.php?mod=viewthread&tid=147109&highlight=mwan3 wan口为路 ...

  7. jQuery自定义扩展写法

    jQuery自定义扩展有两种写法: $.extend({}) ;           调用方法:      $.方法          $.fn.extend({});        调用方法:    ...

  8. RTTI D7

    RTTI需要引用单元TypeInfo 至于RTTI的数据结构,大家可以参考TypeInfo单元的代码 看例子,先为大家介绍一下根据字符串找到属性,并且对其修改的例子 根据属性字符串找到属性,并修改属性 ...

  9. DLL何时需共享内存管理器

    Delphi创建DLL时,IDE自动生成的文档中写得很清楚,当在DLL中以动态数组或String做为参数或返回值时(即RTL自动维护的数据类型),请在每个工程文件的第一个单元加上ShareMem.这样 ...

  10. iis重新注册.netframework4.0

    开始-运行-CMD  (管理员权限运行) %windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i 废话不多说直接上图: