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. ThinkPHP3 和 ThinkPHP5 不是一个团队做的

    ThinkPHP3 和 ThinkPHP5 不是一个团队做的 发现流年好幽默. 这个帖子源于一个 ThinkPHP 用户被客户投诉,然后反过来骂 ThinkPHP 垃圾. 不过最后想通了道歉. 开源需 ...

  2. pip in windows

    G:\Python35-32\Scripts>pip install FlaskFatal error in launcher: Unable to create process using ' ...

  3. git 项目配置用户名、邮箱的方法

    git 项目配置用户名.邮箱的方法 单个仓库里,配置用户名.邮箱: git config user.name "姓名" git config user.email "邮箱 ...

  4. Linux常用文本操作命令整理

    阅读目录 1.统计命令——wc 2.切分命令——cut 3.排序命令——sort 4.去重命令——uniq 5.查找命令——grep 6.替换/查找/删除命令——sed 7.强大的文本分析命令——aw ...

  5. 解决java.lang.ClassNotFoundException: org.springframework.web.util.Log4jConfigListener

    启动eclipse 发现如下错误 Error configuring application listener of class org.springframework.web.util.Log4jC ...

  6. JSON C# Class Generator ---由json字符串生成C#实体类的工具

    json作为互联网上轻量便捷的数据传输格式,越来越受到重视.但在服务器端编程过程中,我们常常希望能通过智能提示来提高编码效率.JSON C# Class Generator 能将json格式所表示的J ...

  7. SQL2008:WITH MOVE 子句可用于重新定位一个或多个文件

    sql2008数据库 还原备份文件还原产生这个错误的原因是:还原目录下存在多个同名文件, 如图所示,只需要将第2个以及以后的mdf文件改成其它名字就行了,比如s.mdf,s1.mdf等等.

  8. python+selenium自动化软件测试(第3章):unittes

    From: https://blog.csdn.net/site008/article/details/77622472 3.1 unittest简介 前言 (python基础比较弱的,建议大家多花点 ...

  9. 【ActiveMQ】之安全机制(一)管控台安全设置

    ActiveMQ 管控台基于jetty,默认端口8161,默认用户名,密码都是admin,这样的安全配置过于弱化,所以我们需要修改一下 1.修改端口 找到conf/jetty.xml文件里面这一段配置 ...

  10. SpringBoot工程+热部署进行远程调试

    本文转载自:https://blog.csdn.net/qq_31868349/article/details/78553901 SpringBoot工程+热部署进行远程调试 本地端添加配置 在pom ...