我的一次rsync+inotify本地数据同步示例
环境:
web工作目录:/var/www/mydafuhao
git仓库目录: /var/www/mydafuhao.git/mydafuhao
需求:inotify监控git仓库目录,发现有版本更新立即同步至web工作目录
之前的想法是git仓库目录与web工作目录做软连接,但是发现apache2 无法识别软连接的目录,具体原因没查到,所以用数据同步方法实现版本更新
ubuntu16.4 系统已经安装了rsync下载安装inotify
# apt-get install make #默认没有安装make
# apt-get install automake libtool
# wget http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
# tar xzf inotify-tools-3.14.tar.gz
# cd inotify-tools-3.14/
# ./configure --prefix=/usr/local/inotify
# make && make install
---------------------------------------------------------------------------------------------------------
# cat /var/www/mydafuhao.com.git/notify_rsync.sh
#!/bin/bash
# xliang
# 2018-12-26
export PATH=/bin:/usr/bin:/usr/local/bin:/usr/local/inotify/bin
WEB=mydafuhao.com
SRC=/var/www/$WEB.git #监控目录路径
DEST1=/var/www/$WEB #更新同步目录
DT=`date +"%Y-%m-%d %H:%M:%S"` # 打印当前时间
#wait for change
inotifywait -mrq --timefmt '%y-%m-%d %H:%M' --format '%T %w%f %e' \
--event modify,create,move,delete,attrib $SRC/$WEB | while read line
do
echo "[$DT] -> file update:" >> /var/www/$WEB.git/rsync.log 2>&1
echo "$line" >> /var/www/$WEB.git/rsync.log 2>&1
echo "" >> /var/www/$WEB.git/rsync.log 2>&1
rsync -avz --exclude=".git" --progress $SRC/$WEB/ $DEST1/ >> /var/www/$WEB.git/rsync.log 2>&1
done
---------------------------------------------------------------------------------------------------------
使用rsync一定要注意的一点是,源路径如果是一个目录的话,带上尾随斜线和不带尾随斜线是不一样的,不带尾随斜线表示的是整个目录包括目录本身,
带上尾随斜线表示的是目录中的文件,不包括目录本身。
---------------------------------------------------------------------------------------------------------
--然后执行此脚本 sh notify_rsync.sh
# nohup sh /var/www/mydafuhao.com.git/notify_rsync.sh & #后台执行
# echo "nohup sh /var/www/mydafuhao.com.git/notify_rsync.sh &" >> /etc/rc.local #开机启动
# ps -aux |grep notify
root 25939 0.0 0.0 4504 708 pts/1 S 10:32 0:00 sh /var/www/mydafuhao.com.git/notify_rsync.sh
我的一次rsync+inotify本地数据同步示例的更多相关文章
- rsync+inotify实时数据同步单目录实战
rsync+inotify实时数据同步单目录实战 rsync+inotify实时数据同步单目录实战 inotify是一个强大的.细粒度的.异步的文件系统事件监控机制,linux内核从2.6.13起 ...
- rsync+inotify实时数据同步多目录实战
rsync+inotify实时数据同步多目录实战 inotify配置是建立在rsync服务基础上的配置过程 操作系统 主机名 网卡eth0 默认网关 用途 root@58server1 1 ...
- Rsync+inotify 实时数据同步 inotify master 端的配置
强大的,细致的,异步的文件系统事件监控机制.Linux 内科从 2.6.13 起支持 inotify Inotify 实现的几款软件:Inotify,sersync,lsyncd ※Inotify 实 ...
- Centos rsync+inotify 实现数据同步备份
最近公司做了一
- rsync简介与rsync+inotify配置实时同步数据
rsync简介 rsync是linux系统下的数据镜像备份工具.使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH.rsync主机同步. rsync特性 rsync ...
- CentOS 6.5 rsync+inotify实现数据实时同步备份
CentOS 6.5 rsync+inotify实现数据实时同步备份 rsync remote sync 远程同步,同步是把数据从缓冲区同步到磁盘上去的.数据在内存缓存区完成之后还没有写入到磁盘 ...
- 通过rsync+inotify实现数据实时备份同步
一.环境描述 测试环境 需求:服务器A与服务器B为主备服务模式,需要保持文件一致性,现采用sersync基于rsync+inotify实现数据实时同步 环境描述: 主服务器172.26.7.50 ,从 ...
- Inotify+rsync实现实时数据同步
使用rsync可以实现数据同步,但是即使使用crontab定时任务最小执行间隔为1分钟,在数据实时性要求比较高场合需使用inotify+rsync实现实时同步 下载inotify wget https ...
- sersync基于rsync+inotify实现数据实时同步
一.环境描述 需求:服务器A与服务器B为主备服务模式,需要保持文件一致性,现采用sersync基于rsync+inotify实现数据实时同步 主服务器A:192.168.1.23 从服务器B:192. ...
随机推荐
- gentoo: startx: drmsetmaster failed: permission denied
今天更新了 xorg-server 之后, startx 就进不了 X了,但是可以用 sudo startx 进入 X,所以感觉很奇怪. 后来终于在 gentoo 官方论坛上面找到答案了. https ...
- 制作本地yum源
镜像源是centos当中下载相关软件的地址,我们可以通过制作我们自己的镜像源指定我们去哪里下载impala的rpm包,这里我们使用httpd这个软件来作为服务端,启动httpd的服务来作为我们镜像源的 ...
- 如何利用Social Listening从社会化媒体中“提炼”有价值的信息?
本文转自知乎 作者:苏格兰折耳喵 ----------------------------------------------------- 在本文中,笔者将会介绍大数据分析主要的处对象---社会化媒 ...
- [转] 常用的CSS命名规则
(一)常用的CSS命名规则 头:header 内容:content/container 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度 ...
- 《汇编语言 基于x86处理器》第十二章浮点数部分的代码
▶ 书中第十二章的程序,主要讲了 FPU 的指令和浮点数计算的过程 ● 代码,简单的 32 为浮点数测试 INCLUDE Irvine32.inc INCLUDE macros.inc .data f ...
- LabelFunction 允许在显示数据以前进行处理
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...
- C# 实现保留两位小数的方法
1.Math.Round(0.333333,2);//按照四舍五入的国际标准 2.double dbdata=0.335333; string str1=String.Format("{0: ...
- 06.linux文件目录操作命令
文件目录操作命令: ls 显示文件和目录列表 -l 列出文件的详细信息 -a 列出当前目录所有文件,包含隐藏文件 mkdir 创建目录 -p 父目录不存在情况下先生成父目录 cd 切换目录 t ...
- chattr 改变文件、目录属性 (chmod、passwd等涉及文件修改的命令提示Operation not permitted)
与chmod这个命令相比,chmod只是改变文件的读写.执行权限,更底层的属性控制是由chattr来改变的. lsattr查看文件或目录属性 chattr命令的用法:chattr [ -RVf ] [ ...
- 尚硅谷springboot学习10-@PropertySource,@ImportResource,@Bean
@PropertySource 使用指定的属性文件而不一定是application.xxx 同样可以注入相关内容 @ImportResource 导入Spring的配置文件,让配置文件里面的内容生效: ...