实时同步rsyunc

备份服务器

安装rsync

yum insatll rsync

手动添加rsync的配置

vim /etc/rsyncd.conf

配置内容如下:

uid = root
gid = root
use chroot = no
max connections = 4
syslog facility = local5
pid file = /var/run/rsyncd.pid

[site]
path = /site
comment = This is my site files
read only = flase
auth users = shusheng
secrets file = /etc/rsyncd.pswd

创建/site文件夹

mkdir /web

创建密码认证文件

vi /etc/rsyncd.pswd

在里面输入密码:shusheng:123456,然后保存退出(其中:shusheng为用户名(与前面rsync配置中的用户一致),123456为我设置的密码,可自行更改,rsync.pswd为密码认证文件名,文件路径和文件名均可自行更改),然后给该密码认证文件设置600权限(必须要设置正确的权限)

chmod 600 /etc/rsyncd.pswd

配置欢迎信息(本步骤可省略)
“`
vim /etc/rsyncd.motd 内容随意编写,比如:Welcom to use shusheng rsync


启动rsync

//独立启动
/usr/bin/rsync –daemon
//或者使用超级进程重载配置
/etc/rc.d/init.d/xinetd reload
//或者重启超级进程
service xinetd restart


检验是否启动

netstat -a | grep rsync


//临时更改

setenforce 0

## 源服务器
试试直接使用 yum install rsync (安装rsync参考上面,此处省略...,安装完就行 不启动rsync)
安装inotify

创建/site文件夹

mkdir /web

创建密码认证文件

vi /etc/rsyncd.pswd

在里面输入密码:用户名:密码,然后保存退出(其中:shusheng为用户名(与前面rsync配置中的用户一致),123456为我设置的密码,可自行更改,rsync.pswd为密码认证文件名,文件路径和文件名均可自行更改),然后给该密码认证文件设置600权限(必须要设置正确的权限)

chmod 600 /etc/rsyncd.pswd

在rsync安装之后,运行以下指令同步备份(可以不执行

[root@www rsync]# rsync -vzrtopg –delete –progress –password-file=/usr/local/rsync/rsync.passwd backup@192.168.1.102::test /home/test

#### 安装inotify

[root@www rsync]# cd /usr/local/src/
[root@www src]# wget http://cloud.github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
[root@www src]# tar zxvf inotify-tools-3.14.tar.gz
[root@www src]# cd inotify-tools-3.14
[root@www inotify-tools-3.14]# ./configure –prefix=/usr/local/inotify
[root@www inotify-tools-3.14]# make
[root@www inotify-tools-3.14]# make install
inotify-tools-3.14.tar.gz

百度网盘下载:链接:http://pan.baidu.com/s/1i3fFF2d 密码:e8m6

此项功能主要是将client端的目录/home/test/里的内容,如果修改了(无论是添加、修改、删除文件)能够通过inotify监控到,并通过rsync实时的同步给server的/home/test里,下面是通过shell脚本实现的。

!/bin/bash

/usr/local/inotify/bin/inotifywait -mrq –timefmt ‘%d/%m/%y %H:%M’ –format ‘%T %w%f%e’ -e modify,delete,create,attrib /var/web | while read files
do
if [ (echo files | grep -c “swp”) -eq 0 ]
then
if [ (echo files | grep -c “swx”) -eq 0 ]
then
#把源服务器被分到备份服务器
rsync -vzrtopg –progress –delete –password-file=/etc/rsyncd.pswd /web liang@192.168.9.140::site
#把备份服务器被分到源服务器
rsync -vzrtopg –progress –delete –password-file=/etc/rsyncd.pswd liang@192.168.9.140::site /web
fi
fi
done

.sh脚本增加764权限

[root@www rsync]# chmod 764 inotify_rsync.sh

运行脚本

[root@www rsync]# inotify_rsync.sh

请记住,只有在备份服务器client端的rsync安装并启动rsync之后,在启动rsync.sh脚本,否则有时候会满屏出现:

rsync: failed to connect to 192.168.10.221: Connection refused (111)
rsync error: error in socket IO (code 10) at clientserver.c(107) [sender=2.6.8]

我们还可以把rsync.sh脚本加入到开机启动项里

[root@www rsync]# echo “setsid /usr/local/rsync/inotify_rsync.sh &” >> /etc/rc.local
“`
现在rsync与inotify在server端安装完成,rsync在备份服务器client端也安装完成。
现在去测试下吧,当然为了稳当起见,还是要重启测试下,自启动脚本是否正常运行,保证万无一失。以上操作也可以在一台服务器实现,同步目录到不同的目录

==源服务器认证文件密码 备份服务器 认证文件用户名:密码==

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值