- rsync概述
- rsync部署
- 使用rsync文件同步工具
- rsync常见用法
- 结合inotify实时远程同步
- sersync实时同步
- 浏览: 67382 次
- 性别:
- 来自: 北京
文章分类
最新评论
一、rsync概述
rsync是一个快速的文件同步和传输工具,rsync程序类似于rcp命令的工作模式,但是拥有更强的特性,rsync使用rsync远程更新协议,根据效验和搜索的算法仅传输新增或更改过的文件,并且支持数据压缩,从而大大提高了文件同步的速度。
二、rsync部署
- 环境说明
- 配置网络通讯
- 建立配置文件
- 启动rsync服务
1.环境说明
rsync server 主机
主机名 :server
IP地址 :172.20.45.35
操作系统:centos 5.6
rsync client 主机
主机名 :client
IP地址 :172.20.45.38
操作系统:centos 5.6
2.配置网络通讯
关闭iptables防火墙
登录server
# service iptables stop # chkconfig iptables off
登录client
# service iptables stop # chkconfig iptables off
关闭SElinux
登录server
# vi /etc/selinux/config SELINUX=enforcing 更改为 SELINUX=disabled
至此reboot重启serve主机。
登录client
# vi /etc/selinux/config SELINUX=enforcing 更改为 SELINUX=disabled
至此reboot重启client主机。
更改hosts文件
登录server
# vi /etc/hosts 增加 172.20.45.35 server 172.20.45.38 client
登录client
# vi /etc/hosts 增加 172.20.45.38 client 172.20.45.35 master
3.建立配置文件
系统安装完毕后默认安装rsync软件包
登录server
# rpm -qa | grep rsync rsync-3.0.6-4.el5_7.1
登录client
# rpm -qa | grep rsync rsync-3.0.6-4.el5_7.1
但默认rsync程序配置文件rsyncd.conf文件是不存在的,需要手动创建。
登录server
# touch /etc/rsyncd.conf # vi /etc/rsyncd.conf 增加 uid = root #授权用户 gid = root #授权组 log file = /var/log/rsyncd.log #log文件路径 pid file = /var/run/rsyncd.pid #pid文件路径 [rsync] #同步名称 path = /rsync #同步文件夹路径 read only = no #不使用只读模式 ignore errors = yes #忽略IO错误 hosts allow = 172.20.0.0/22 #只运行172.20.0.0网段访问 hosts deny = * #拒绝所有网段访问
4.启动rsync服务
登录server
启动rsync服务
# rsync --daemon # ps -ef | grep [r]sync root 2612 1 0 11:37 ? 00:00:00 rsync --daemon
开启启动rsync服务
# echo "/usr/bin/rsync --daemon &" >> /etc/rc.local
三、使用rsync文件同步工具
将远程主机的备份源目录同步到本地,称为下载同步,将本地的备份源目录同步到远程主机中,称为上传同步。
rsync也可用与本地目录直接的同步。
使用rsync文件同步时,命令格式如下
rsync [选项] 备份源 备份目标
常用选项
-a 使用归档模式,保留文件原有的权限、属性、属主等信息,等同于使用“-rlptgoD”等多个选项的组合
-l 符号链接文件仍然复制为符号链接
-H 保留硬链接文件
-r 递归模式,包含目录及子目录中所有文件
-v 显示同步过程的详细信息
-z 在传输过程中进行压缩
-o 保留文件的属主标记
-g 保留文件的属组标记
-t 保留文件的时间标记
-p 保留文件的权限标记
-D 保留设备文件以及其他的特殊文件
--delete 删除目录文件夹有而源文件夹没有的文件
--checksum 根据效验和来决定是否跳过文件
四、rsync常见用法
登录client
查看rsync server服务器可用的备份模块列表
# rsync rsync://172.20.45.35 rsync
将rsync server服务器中rsync目录同步至本地
# rsync -vzrtopg root@172.20.45.35::rsync /rsync/ receiving incremental file list ./ 1/ 2/ 3/ sent 42 bytes received 99 bytes
五、结合inotify实时远程同步
- 安装inotify
- 部署client rsync服务
- ssh验证
- 开启实时同步
- 验证实时同步
注意:linux内核2.6.13版本以后提供inotify。
inotify用于监控文件系统事件,如文件存取、删除、移动、修改等。
1.安装inotify
# tar zxvf inotify-tools-3.13.tar.gz # cd inotify-tools-3.13 # ./configure –prefix=/usr/local/inotify # make # make install
2.登录client部署rsync
登录client
# touch /etc/rsyncd.conf # vi /etc/rsyncd.conf 增加 uid = root gid = root log file = /var/log/rsyncd.log pid file = /var/run/rsyncd.pid [rsync] path = /rsync read only = no ignore errors = yes hosts allow = 172.20.0.0/22 hosts deny = *
开启rsync
# rsync --daemon # ps -ef | grep [r]sync root 2612 1 0 11:37 ? 00:00:00 rsync --daemon
3.ssh认证
登录server
# ssh-keygen -b 1024 -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: 7c:1f:b4:8b:2e:9c:55:94:a8:f3:9c:1a:c8:0d:6b:54 root@server
将文件copy至client,以后再server上rsync client就不需要输入密码
# scp -p /root/.ssh/id_rsa.pub root@172.20.45.38:/root/.ssh/authorized_keys root@172.20.45.35's password: id_rsa.pub [root@server opt]# ssh client Last login: Fri Aug 23 13:36:12 2013 from master [root@client ~]# exit logout
验证rsync是否需要密码
# rsync -azH --delete /rsync/ root@172.20.45.38:/rsync #
4.开启实时同步
登录server
使用inotify监控/rsync目录
# inotifywait -mrq -e modify,create,attrib,move,delete /rsync
新开窗口进行测试操作,新建三个目录a、b、c观察inotifywait显示
# mkdir a b c inotify显示 /rsync/ CREATE,ISDIR a /rsync/ CREATE,ISDIR b /rsync/ CREATE,ISDIR c
证明inotify监控成功。
设定实时同步脚本
# vi /root/InotifyRsync.sh 增加 #!/bin/bash /usr/local/bin/inotifywait -mrq -e modify,delete,create,attrib /rsync | while read file do rsync -avzP --delete /rsync/ root@172.20.45.38::rsync > /dev/null done exit 0
开启实时同步
# /root/InotifyRsync.sh &
5.验证实时同步
登录server
# cd /rsync # rm -rf * # mkdir a b c # rm -rf c
登录client
# cd /rsync # ls a b
实时同步成功。
六、sersync实时同步
sersync主要用于服务器同步,web镜像等功能。基于boost1.43.0,inotify api,rsync command.开发。
是一款非常好用的实时同步软体、配置简单,功能强大,具体请至sersync官网。
http://code.google.com/p/sersync/
至此、完成。
发表评论
-
CentOS 部署Subversion + Apache版本控制服务器
2013-11-30 12:08 1229安装前提 安装步骤 配置subversion 一 ... -
freeswitch configure: error: libtermcap, libcurses or libncurses are required!
2013-11-13 16:33 1829编译安装freeswitch 1.2.14报错error: ... -
CentOS 6.3 X86_64 安装CitrixClient
2013-11-05 18:03 641下载Receiver for Linux 12.1 登录 ... -
Citrix Receiver for Linux 12.1:ERROR : machine architecture could not be decided
2013-10-15 17:55 790问题现象 解决步骤 一、问题现象 安装 Rece ... -
Citrix Receiver for Linux 12.1:nspluginwrapper: command not found
2013-10-15 17:49 772问题现象 解决步骤 一、问题现象 安装Recei ... -
Linux Apache 2 增加Perl CGI支持
2013-10-08 12:08 8511.安装Apache mod_perl.so模块 yum ... -
squid代理设置
2013-09-26 13:33 1017传统代理 透明代理 反向代理 ... -
Centos/Ubuntu 安装svn客户端RabbitVCS
2013-09-25 11:18 2948CentOS Ubuntu 一、Cent ... -
Centos & Ubuntu Xrdp 远程登录
2013-09-22 19:57 1425Centos xrdp Ubuntu xrdp ...
相关推荐
rsync+inotify开机自启动实时同步增量备份是通过使用rsync与inotify结合来实现Linux系统中文件的实时同步和增量备份。rsync是一个快速且灵活的文件传输工具,而inotify则是一个内核特性,它可以监控文件系统的变化。...
《服务器目录实时同步部署手册——基于rsync与inotify》 在现代的IT环境中,保持数据的一致性和可用性至关重要。对于多服务器架构,实时文件同步成为了一个必要且高效的解决方案。本文将详细介绍如何利用rsync和...
2. 支持本地和远程同步:可以通过本地文件系统或者SSH、RSH等协议进行跨主机同步。 3. 镜像功能:rsync可以创建源目录的精确副本,包括权限、符号链接等元数据。 4. 模式匹配:通过正则表达式或通配符,用户可以选择...
此外,rsync可以结合SSH(Secure Shell)协议进行安全的远程同步,确保数据在传输过程中的安全性。 接下来,我们进入rsync的安装部署环节: 1. **在Linux系统上安装rsync**: - 对于基于Debian的系统(如Ubuntu)...
它支持多种同步模式,包括本地同步、远程同步以及镜像备份等。 `rsync+inotify`是`rsync`的一种增强使用方式。`inotify`是Linux内核提供的一种文件系统事件监控机制,它可以监听文件系统的变化,如创建、删除、修改...
在 CentOS 6.3 环境中,配置文件系统实时同步更新,我们可以采用 rsync 结合 inotify 工具来实现。rsync 是一款强大的数据同步工具,它能够高效地进行本地或远程数据同步。而 inotify 是 Linux 内核提供的一种文件...
rsync则是一个高效的数据同步工具,用于在本地或远程系统间同步文件。 【inotify简介】 inotify提供了一种异步、细粒度的文件系统事件监控机制。它允许应用程序实时监控文件系统的变化,而不是通过周期性的轮询...
结合`rsync`,`inotify`能够实现实时监测文件变化并即时同步,显著提升了数据同步的实时性和效率。 #### 安装与配置`inotify-tools` 在`inotify`功能的基础上,`inotify-tools`是一套提供高级`inotify`操作的工具...
rsync在远程同步中分为发起端(client)和同步源(server)。发起端负责执行同步操作,同步源则提供需要备份的文件。当rsync作为同步源运行时,通常以守护进程(daemon)模式运行,通过配置文件`/etc/rsyncd.conf`...
为了实现实时上行同步,即将客户端的文件变化同步到服务器端,可以利用inotify监控客户端文件系统的变动,并通过rsync来同步这些变化。 1. **服务器端配置**: - **修改配置文件**: - 设置用户权限(`uid` 和 `...
- **部署rsync守护进程模式**:rsync是一种开源的、快速的、增量的数据传输工具,可以用于本地或远程的文件同步。在守护进程模式下,rsync能持续监听并接收来自inotify的同步请求。 - **部署inotify服务**:安装...
总的来说,inotify-tools和rsync的结合使用,为Linux系统提供了一种灵活、可扩展的文件同步策略,适用于各种规模的部署。通过理解这两个工具的基本原理和使用方法,我们可以根据实际需求定制出满足业务的高效文件...
确保替换`WATCH_DIR`为需要监控的本地目录,`SYNC_DIR`为远程同步的目标位置。运行脚本后,`inotifywait`会持续监听指定目录,任何文件的修改、创建、删除或移动都会触发`rsync`同步。 在正式环境中,你可能还需要...
在文件同步场景中,Rsync是一款非常强大的工具,它能高效地进行本地或远程文件的同步。Rsync使用快速增量传输算法,仅传输文件中发生变化的部分,极大地提高了同步效率。通过结合Inotify和Rsync,我们可以实现近乎...
在Linux环境中,文件同步是一项关键任务,特别是在多服务器部署或者备份策略中。本文将深入探讨如何在两台Linux服务器之间实现文件同步,并介绍几种常用的方法和技术。 首先,我们需要理解文件同步的基本概念。文件...
它可以监控文件系统的变动,一旦有文件发生改变,即可通过网络快速同步到远程服务器。Sersync通常作为Rsync的前端工具使用,用于触发Rsync进行同步操作。 #### SELinux(Security-Enhanced Linux)配置 SELinux...
通过 `inotify`,我们可以实现实时监控主服务器上文件的变动,并在文件发生变化时立即触发 `rsync` 同步操作。 以下是在主从服务器上配置 `rsync` 和 `inotify` 的步骤: 1. **在从服务器上配置 `rsync`**: - ...
在Linux系统中,`inotify`和`rsync`是两个强大的工具,它们结合使用可以实现文件系统的实时监控和同步。下面将详细讲解这两个工具及其配置。 `inotify`是Linux内核提供的一种文件系统事件监控机制,它可以监控文件...