Linux之rsync简单应用&&rsync+inotify实时应用
2013-06-24 13:15
363 查看
本文系统Centos6.0Server:(Centos) 192.168.182.130
Client:(lv2) 192.168.182.129rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync。它的特性如下:可以镜像保存整个目录树和文件系统。可以很容易做到保持原来文件的权限、时间、软硬链接等等。无须特殊权限即可安装。快速:第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件。rsync 在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽。安全:可以使用scp、ssh等方式来传输文件,当然也可以通过直接的socket连接。支持匿名传输,以方便进行网站镜象。
-v即--verbose 显示传输的详细信息
-z 即--compress 传输时对文件进行压缩
-r 即—recursive 对子目录进行递归处理
-t 即—times 保持文件的时间信息
-o即—owner 用来保持文件的属主信息
-p 即 --perms 保持文件权限
-g 即 –group 保持文件属组信息-a 即 --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD--delete 以rsync服务器为基准保持数据同步,如果服务器删除了某一文件,客户端也会删掉。
--progress 显示出详细的进度情况。
--exclude 用于排除不需要的文件类型。
http://www.01chengde.cn 指定备份的服务器和相关的模块, lansgg 为服务器Server上面设置的rsync同步帐号;
/backup 指定备份的文件在客户端上的存放位置 。
--password-file=/etc/rsyncd.pass 指定客户端存放密码文件的位置。rsync简单应用;
![](http://img1.51cto.com/attachment/201306/224936526.jpg)
1、Server端安装rsync;
![](http://img1.51cto.com/attachment/201306/225921156.jpg)
创建同步测试目录并且创建同步用户;
修改密码文件权限
呜呼,当你rpm -ql该包的时候,你会发现没有什么配置文件,下面就是自己写配置文件了;
启动rsync
![](http://img1.51cto.com/attachment/201306/232522588.jpg)
在测试目录中创建测试文件
![](http://img1.51cto.com/attachment/201306/232745966.jpg)
2、Client操作;安装rsync
配置密码文件,里面写入与服务器Server上相同的密码,但不需要再写帐号名。
mkdir /root/backup #此为创建本地备份目录开始同步;
![](http://img1.51cto.com/attachment/201306/001123934.jpg)
没有log日志文件;Ps:你可以将rsync --daemon写入rc.local文件,你可以将上面的命令写入cron;实现定时同步;下面是rsync+inotify实现数据实时同步;上面已经表明,rsync无法实现实时的同步;所以才做了cron;这也是rsync的不足;Inotify 是一个 Linux特性,它监控文件系统操作,比如读取、写入和创建。Inotify 反应灵敏,用法非常简单,并且比 cron 任务的繁忙轮询高效得多。Inotify 是一个 Linux 内核特性,它监控文件系统,并且及时向专门的应用程序发出相关的事件警告,比如删除、读、写和卸载操作等。您还可以跟踪活动的源头和目标等细节。要使用 inotify,必须具备一台带有 2.6.13 或更新内核的 Linux 机器(以前的 Linux 内核版本使用更低级的文件监控器 dnotify)。如果不知道内核的版本,请转到 shell,输入 uname -a:
![](http://img1.51cto.com/attachment/201306/103831503.jpg)
这就是常说的rsync可以下发多台机器配置文件的图;其实和上面的案例是反过来,上面是client下载server端,进行备份,这个案例是client端进行上传到多台server端,比如集群的话;在Server端(三台)配置如上;
下面是接着在Client端安装inotify-tools
inotifywait用于等待文件或文件集上的一个特定事件,可以监控任何文件和目录设置,并且可以递归地监控整个目录树;inotifywatch用于收集被监控的文件系统统计数据,包括每个inotify事件发生多少次等信息。
编写实时检测同步脚本;
inotifywait的相关参数:
-m 即 –monitor ,表示始终保持事件监听状态;
-r 即 –recursive,表示递归查询目录
-q 即 –quiet ,打印出监控事件
--timefmt,指定时间的输出格式
--format,指定变化文件的详细信息
sh inotify.sh &echo “sh inotify.sh &” >> /etc/rc.local现在可以在client;创建、删除文件进行测试;Client执行:
当你在Client执行mkdir /root/backup/testtesttest (创建测试目录)你会发现Client客户端日志:
![](http://img1.51cto.com/attachment/201306/233804703.jpg)
你去查看server端;
![](http://img1.51cto.com/attachment/201306/233826865.jpg)
![](http://img1.51cto.com/attachment/201306/233826163.jpg)
全部已经同步了;Ps:在执行search inotify的时候,发现一款incron;系统简介:incron.i686 : Inotify cron system;大家可以去研究下;
Client:(lv2) 192.168.182.129rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync。它的特性如下:可以镜像保存整个目录树和文件系统。可以很容易做到保持原来文件的权限、时间、软硬链接等等。无须特殊权限即可安装。快速:第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件。rsync 在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽。安全:可以使用scp、ssh等方式来传输文件,当然也可以通过直接的socket连接。支持匿名传输,以方便进行网站镜象。
服务器端启动
usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf可能需要root权限运行./etc/rsyncd/rsyncd.conf 是你刚才编辑的rsyncd.conf的位置.也可以在/etc/rc.d/rc.local里加入让系统自动启动等.客户端同步
rsync -参数 用户名@同步服务器的IP::rsyncd.conf中那个方括号里(模块名)的内容 本地存放路径 如:rsync –vzrtopg –delete --progress --exclude “*.log” lansgg@192.168.182.130::lansggtest /root/backup --password-file=/etc/rsyncd.pass该命令的解释如下:-v即--verbose 显示传输的详细信息
-z 即--compress 传输时对文件进行压缩
-r 即—recursive 对子目录进行递归处理
-t 即—times 保持文件的时间信息
-o即—owner 用来保持文件的属主信息
-p 即 --perms 保持文件权限
-g 即 –group 保持文件属组信息-a 即 --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD--delete 以rsync服务器为基准保持数据同步,如果服务器删除了某一文件,客户端也会删掉。
--progress 显示出详细的进度情况。
--exclude 用于排除不需要的文件类型。
http://www.01chengde.cn 指定备份的服务器和相关的模块, lansgg 为服务器Server上面设置的rsync同步帐号;
/backup 指定备份的文件在客户端上的存放位置 。
--password-file=/etc/rsyncd.pass 指定客户端存放密码文件的位置。rsync简单应用;
![](http://img1.51cto.com/attachment/201306/224936526.jpg)
1、Server端安装rsync;
![](http://img1.51cto.com/attachment/201306/225921156.jpg)
创建同步测试目录并且创建同步用户;
![](http://img1.51cto.com/attachment/201306/232522588.jpg)
在测试目录中创建测试文件
![](http://img1.51cto.com/attachment/201306/232745966.jpg)
2、Client操作;安装rsync
![](http://img1.51cto.com/attachment/201306/001123934.jpg)
没有log日志文件;Ps:你可以将rsync --daemon写入rc.local文件,你可以将上面的命令写入cron;实现定时同步;下面是rsync+inotify实现数据实时同步;上面已经表明,rsync无法实现实时的同步;所以才做了cron;这也是rsync的不足;Inotify 是一个 Linux特性,它监控文件系统操作,比如读取、写入和创建。Inotify 反应灵敏,用法非常简单,并且比 cron 任务的繁忙轮询高效得多。Inotify 是一个 Linux 内核特性,它监控文件系统,并且及时向专门的应用程序发出相关的事件警告,比如删除、读、写和卸载操作等。您还可以跟踪活动的源头和目标等细节。要使用 inotify,必须具备一台带有 2.6.13 或更新内核的 Linux 机器(以前的 Linux 内核版本使用更低级的文件监控器 dnotify)。如果不知道内核的版本,请转到 shell,输入 uname -a:
![](http://img1.51cto.com/attachment/201306/103831503.jpg)
这就是常说的rsync可以下发多台机器配置文件的图;其实和上面的案例是反过来,上面是client下载server端,进行备份,这个案例是client端进行上传到多台server端,比如集群的话;在Server端(三台)配置如上;
-m 即 –monitor ,表示始终保持事件监听状态;
-r 即 –recursive,表示递归查询目录
-q 即 –quiet ,打印出监控事件
--timefmt,指定时间的输出格式
--format,指定变化文件的详细信息
sh inotify.sh &echo “sh inotify.sh &” >> /etc/rc.local现在可以在client;创建、删除文件进行测试;Client执行:
![](http://img1.51cto.com/attachment/201306/233804703.jpg)
你去查看server端;
![](http://img1.51cto.com/attachment/201306/233826865.jpg)
![](http://img1.51cto.com/attachment/201306/233826163.jpg)
全部已经同步了;Ps:在执行search inotify的时候,发现一款incron;系统简介:incron.i686 : Inotify cron system;大家可以去研究下;
相关文章推荐
- Linux之rsync简单应用&&rsync+inotify实时应用
- linux下通过rsync+inotify 实现数据实时备份(远程容灾备份系统)
- 【linux教程】inotify用法简介及结合rsync实现主机间的文件实时同步
- rsync+inotify简单搭建实时同步
- inotify-tools+rsync实时同步文件的配置方法(linux)
- Linux下Rsync+Inotify-tools实现数据实时同步
- Linux下Inotify + Rsync文件实时同步
- Linux-rsync+inotify 文件实时同步
- linux之间通过rsync+inotify-tools实现自动实时备份
- 【Linux下Inotify + Rsync文件实时同步】
- linux下通过rsync+inotify 实现数据实时备份(远程容灾备份系统)
- rsync+inotify实时同步应用
- Linux下Rsync+Inotify-tools实现数据实时同步
- linux下通过rsync+inotify 实现数据实时备份(远程容灾备份系统)
- Linux下Rsync+Inotify-tools实现数据实时同步
- linux 利用inotify-tools配合rsync实时同步文件
- linux使用rsync+inotify-tools+ssh实现文件实时同步
- Linux学习--rsync+inotify实现数据实时同步
- linux系统中rsync+inotify实现服务器之间文件实时同步
- 企业应用案例-rsync+inotify搭建实时同步系统