Linux-(inotify-tools&rsync)
inotifywait命令
mac中的是:fswatch,fsevents-tools。
1.命令格式:
inotifywait [参数] [events] [targetDir]
2.命令功能:
平时 inotifywait 会挂起在那里,直到文件/目录发生了要引起关注的事件后,它会退出并输出事件发生的场所、事件的名称以及引起事件的文件(当事件发生在目录上时才会输出).
3.命令参数:
inotifywait 最常用的选项有两个:
-r 表示递归监控子目录中文件发生的事件
-e 指定要监控的事件列表。
对于备份系统来说,只需要监控 modify、create和delete三种事件就行了。
4.使用实例:
inotifywait -r -e modify,create,delete /tmp
表示监控 /tmp 目录及其子目录中文件修改、文件创建和文件删除三种事件。
rsync命令
1.命令格式:
rsync [参数] [原目录] [目标目录]
2.命令功能:
rsync是一款快速增量备份工具。它的具有以下几个特点使得它很适合用作做备份的工具:
增量备份,只会传输修改过的内容
可以在传输过程中实时解压缩,减少带宽消耗
可以保持原来文件的权限、事件、软硬链接
即支持本机复制,也支持远程复制
3.命令参数:
-a 表示archive mode,即备份目录下的所有内容(包括子目录中的内容),并且保持软链接、文件属性、文件修改事件、文件的所有者和宿主信息不变,并且同步字符/块设备以及命名socket和fifo等特殊文件。
-v 表示输出备份的详细信息
-z 表示传输时进行压缩
–delete 删除目标目录中源目录中没有的文件
4.使用实例:
rsync -avz --delete src/ foo:/data
src/ 表示要备份的是src目录下的所有内容,注意这里最后的 / 不能去掉,否则会把src目录本身备份过去
foo:/data 表示备份的目的地是foo主机下的 /data/ 目录
构建实时备份系统
用个 while 死循环把两个工具整合起来
#!/bin/bash if [[ $# -ne ]];then
cat<<EOF
Usage $(basename $) source_dir [host:]dest_dir
EOF
exit
fi source_dir=$
dest_dir=$
while :
do
inotifywait -r -e modify,create,delete ${source_dir} && rsync -avz ${source_dir}/ ${dest_dir} --delete
done
Linux-(inotify-tools&rsync)的更多相关文章
- (转)Linux下通过rsync与inotify(异步文件系统事件监控机制)实现文件实时同步
Linux下通过rsync与inotify(异步文件系统事件监控机制)实现文件实时同步原文:http://www.summerspacestation.com/linux%E4%B8%8B%E9%80 ...
- Sersync实现触发式文件同步 替代inotify和rsync
Sersync实现触发式文件同步 替代inotify和rsync Pyinotify是一个Python模块,用来监测文件系统的变化. Pyinotify依赖于Linux内核的功能—inotify(内核 ...
- linux服务之rsync
http://www.cnblogs.com/itech/archive/2010/06/13/1757952.html rsync与mfs好像有点类似,都是传输块的chunk,chunk的 1)软件 ...
- 利用Inotify和Rsync将webproject文件自己主动同步到多台应用server
背景:须要搭建一套跟线上一模一样的环境,用来预公布,这是当中的web分发的一个小模块的实现过程. 1 工具以及环境简单介绍 1.1,Inotify工具 Inotify,它是一个内核用于通知用户空间程序 ...
- inotify 与 rsync文件同步实现与问题
首先分别介绍inotify 与 rsync的使用,然后用两者实现实时文件同步,最后说一下这样的系统存在什么样的问题. 1. inotify 这个具体使用网上很多,参考 inotify-tools 命令 ...
- inotify和rsync实现数据实时同步
数据的实时同步 实现实时同步 要利用监控服务(inotify),监控同步数据服务器目录中信息的变化 发现目录中数据产生变化,就利用rsync服务推送到备份服务器上 实现实时同步的方法 ino ...
- Linux inotify功能及实现原理
http://www.cnblogs.com/jiejnan/archive/2012/05/18/2507476.html 简介: 当需要对 Linux®文件系统进行高效率.细粒度.异步地监控时,可 ...
- Linux inotify功能及实现原理【转】
转自:http://blog.csdn.net/myarrow/article/details/7096460 1. inotify主要功能 它是一个内核用于通知用户空间程序文件系统变化的机制. 众所 ...
- Linux VMware tools安装步骤
Linux VMware tools安装步骤: 1.安装环境介绍 #虚拟机版本:VMware-workstation-full-10 #linux分发版本:CentOS-6.4-i386-LiveCD ...
- 如何在Linux下使用Rsync
如何在Linux下使用Rsync 吐槽 昨天对scp进行总结之后看到最后有说到Rsync,俗语有云:好奇心害死猫.抱着学习的态度将Rsync给找了出来,然后进行了一些简单的学习.下面介绍一些个常用的命 ...
随机推荐
- eclipse编辑器栏上的路径怎么去掉
找到这个按钮,点一下就可以了:
- eclipse生成可执行jar包(引入第三方.jar文件)
1. eclipse建立普通的java project项目(项目名aa) 2. 项目正常组织通过buildpath加载各种jar包入项目aa比如例子项目里,加入了spring 各种jar包加入各种配置 ...
- AngularJS 过滤器 Filter
过滤器实质是数据转换或过滤,把ViewMode中的数据转化成View层用户友好的信息.可以看做一个函数,负责接收输入,转换成输出,每次参数变化时,它就被执行,输出被视图View使用. 一.基本定义及其 ...
- MFC坐标系
MFC坐标系分为设备坐标系和逻辑坐标系两种.在设备坐标系中,一个像素表示一个单位长度,设备的原点(0,0)始终在显示平面的左上角位置,x轴正向向右,y轴正向向下. 逻辑坐标系中,原点可以放在任何一个位 ...
- 9.js入门
1.Js介绍 ◆js是一款运行在客户端的网页编程语言. ◆组成部分 ★ecmascript js标准 ★dom 通过js操作网页元素 ★bom 通过api操作浏览器 ◆特点 ★简单易用 ★解释执行 ★ ...
- 点聚weboffice插件自定义菜单
https://blog.csdn.net/u014547764/article/details/53818637 1.在jsp中引用excel插件:首先项目中要有:WebOffice.zip.web ...
- Android-Java-synchronized同步代码块的使用场景
synchronized同步代码块的使用场景 (满足以下两种条件,就要考虑使用synchronize同步代码块了) 1.被synchronized同步代码块{同步的代码},是被多次异步调用,什么叫多次 ...
- impress.js 中文注释
impress.js 中文注释 玄魂 /** * impress.js *(本翻译并未完全遵照原作者的注释翻译) * Impress.js 是受 Prezi启发,基于现代浏览器的 CSS3 与 Jav ...
- Button去除边框方法
<Button Content="Button" Style="{StaticResource {x:Static ToolBar.ButtonStyleKey} ...
- WPF---DataGrid设置列的百分比宽度 & 列值显示格式化
<DataGrid Height="Auto" Width="Auto"> <DataGrid.Columns> <DataGri ...