Redhat服务器利用rsync和inotify-tools实现实时增量备份的方法(详解)
2013-08-21 15:08
726 查看
1.首先检查系统是否安装了rsync软件包,一般RedHat服务器默认是安装的
[root@localhost ~]# rpm -qa |grep rsync #检查系统是否安装了rsync软件包
2.在RedHat服务器上一般不用配置rsync,测试ssh联通是否正常即可.
[root@localhost ~]# rsync -aSvH /test/ root@192.9.169.107:/test/
会提示输入107服务器root的密码,输入密码后能正常传送,说明rsync运行正常,客户端不用配置。
3.免SSH密码认证,创建server1到server2的信任连接
在server1上执行
传送证书到server2上,这一步要先在server2上建立/root/.ssh文件夹。
[root@localhost ~]# cd /root/.ssh/
[root@localhost .ssh]# scp id_rsa.pub root@192.9.169.107:~/.ssh/authorized_keys
测试SSH连接
[root@localhost ~]# ssh 192.9.169.107 #如果不用输入密码就能登录到107,说明成功了。如不成功请检查authorized_keys文件的属性
4.安装inotify-tools
5.挂再脚本
脚本1:建立脚本inotify,内容如下:
脚本2:建立脚本inotify2,内容如下:
建议使用脚本2,脚本1只改变文件的属性,不会同步,脚本2支持向多个ip备份。
挂在方法可以使用[root@localhost ~]# nohup ./inotify2 & 保证在终端断开的情况下能就绪执行,
也可以把nohup ./inotify2 & 添加到rc.load文件里,实现开机启动.
[root@localhost ~]# rpm -qa |grep rsync #检查系统是否安装了rsync软件包
2.在RedHat服务器上一般不用配置rsync,测试ssh联通是否正常即可.
[root@localhost ~]# rsync -aSvH /test/ root@192.9.169.107:/test/
会提示输入107服务器root的密码,输入密码后能正常传送,说明rsync运行正常,客户端不用配置。
3.免SSH密码认证,创建server1到server2的信任连接
在server1上执行
[root@localhost ~]# 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: 9c:c0:b0:a9:b6:c2:b7:b0:f7:37:89:1e:eb:2c:85:3a root@localhost.localdomain
传送证书到server2上,这一步要先在server2上建立/root/.ssh文件夹。
[root@localhost ~]# cd /root/.ssh/
[root@localhost .ssh]# scp id_rsa.pub root@192.9.169.107:~/.ssh/authorized_keys
测试SSH连接
[root@localhost ~]# ssh 192.9.169.107 #如果不用输入密码就能登录到107,说明成功了。如不成功请检查authorized_keys文件的属性
4.安装inotify-tools
# wget http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz (下载inotify-tools) # tar zxvf inotify-tools-3.14.tar.gz # cd inotify-tools-3.14 # ./configure --prefix=/usr/local/inotify # make # make install
5.挂再脚本
脚本1:建立脚本inotify,内容如下:
#!/bin/sh SRC=/test2/ DST=root@192.9.169.107:/test/ INWT=/usr/local/inotify/bin/inotifywait RSYNC=/usr/bin/rsync $INWT -mrq -e create,move,delete,modify $SRC | while read D E F;do rsync -aHqzt --delete $SRC $DST done
脚本2:建立脚本inotify2,内容如下:
#!/bin/bash ########### ssh 传输 srcdir="/test2/" ip="192.9.169.107" #多台服务器可以自己添加IP dstdir="/test2/" /usr/local/inotify/bin/inotifywait -mrq --timefmt '%d/%m/%y-%H:%M' --format '%T %w%f' -e modify,delete,create,attrib ${srcdir} | while read file do for i in ${ip} do rsync -aqztH --delete -progress '-e ssh -p 22' ${srcdir} root@${i}:${dstdir} # 22为ssh端口号 done done
建议使用脚本2,脚本1只改变文件的属性,不会同步,脚本2支持向多个ip备份。
挂在方法可以使用[root@localhost ~]# nohup ./inotify2 & 保证在终端断开的情况下能就绪执行,
也可以把nohup ./inotify2 & 添加到rc.load文件里,实现开机启动.
相关文章推荐
- Linux服务器文件实时同步方案设计和实现(rsync+inotify-tools)
- rsync+inotify-tools实现文件远程实时备份
- 完整利用Rsync实现服务器/网站数据增量同步备份
- CentOS下(rsync+inotify)监听式实现服务器间的备份实时同步
- rsync+inotify-tools+ssh实现mysql-bin日志文件实时备份
- 通过rsync+inotify实现服务器之间数据的实时备份
- rsync+inotify实现服务器实时备份
- linux之间通过rsync+inotify-tools实现自动实时备份
- Rsync+Inotify-tools实现数据实时同步
- rsync+inotify实现数据的实时同步与备份
- CentOS6.8使用Rsync+Inotify-tools实现数据实时同步
- rsync+inotify实现数据的实时备份实例
- rsync+inotify实现Git数据实时同步备份 推荐
- rsync+inotify实现多台服务器之间数据实时同步
- linux系统中rsync+inotify实现服务器之间文件实时同步
- 通过rsync+inotify-tools+ssh实现触发式远程实时同步。
- rsync+inotify实现服务器之间文件实时同步
- 总结之:CentOS 6.5 rsync+inotify实现数据实时同步备份
- rsync+inotify实现服务器之间文件实时同步
- Linux下Rsync+Inotify-tools实现数据实时同步-(转载)