码迷,mamicode.com
首页 > 其他好文 > 详细

rsync远程同步

时间:2014-08-28 09:51:19      阅读:296      评论:0      收藏:0      [点我收藏+]

标签:rsync   远程同步   

rsync远程同步服务

inotify-tools实现实时同步

NTP网络时间服务

 

#########################################################

 

一:rsync远程同步服务

1.rsync 同步的基本操作

 

    使用格式:rsync  源文档  目标文档

 

   rsync常用选项

-a:归档模式,相当于-rlptgoD

-v:显示同步过程详细信息

-z:传输过程中启用压缩

-H:保留硬连接文件

-A:保留文件的ACL属性信息

--delete:删除目标有而源没有的文件

--checksum:根据校验和来决定是否要同步

2. rsync同步

1rsync服务器本地同步

创建同步目标目录

[root@redhat6 ~]# mkdir /test

[root@redhat6 ~]# rm -rf /test/*

[root@redhat6 ~]# ls /test

[root@redhat6 ~]# rsync -az /boot/ /test

[root@redhat6 ~]# ls /test

完全同步,删除多余的文件

[root@redhat6 ~]# touch /test/test.file

[root@redhat6 ~]# rsync -azvn /boot/ /test --delete

sending incremental file list

./

deleting test.file

........

//添加参数n是预执行结果,实际不执行

[root@redhat6 ~]# rsync -azv /boot/ /test --delete

sending incremental file list

./

deleting test.file

........

//去掉参数n同步删除,保持完全一样

 

注:在对文件夹进行同步时如果源文件夹后面不加/例如 :/boot 是将整个文件夹同步到目标文件夹,如果后面加上/boot/ 表示将该文件夹下的所有内容做同步

 

2rsync+ssh远程同步

下行:rsync  user@host:源目录  本地目录

上行:rsync  本地目录  user@host:目标目录

准备一台rsync服务器(192.168.4.2)和一个远程同步端(192.168.4.3

远程机建立测试目录

[root@redhat5 /]# mkdir /test

本地的 /etc 目录备份到远程主机

[root@redhat6 ~]# rsync -az /boot/root@192.168.4.6:/test

.........

root@192.168.4.3‘s password:    //输入远程机的用户名密码

[root@redhat5 /]# ls /test/

将远程主机的 /boot/ 目录备份到本地

[root@redhat5 /]# rm -rf /test/*

[root@redhat5 /]# rsync -azroot@192.168.4.2:/boot/ /test

root@192.168.4.2‘s password:

[root@redhat5 /]# ls /test/

 

(3)rsync客户端 <==> rsync 服务器

 

下行:rsync  user@host::共享名  本地目录

上行:rsync  本地目录  user@host::共享名

1)在服务器端建立同步账号文件

[root@redhat6 ~]# vim /etc/rsyncd_users.db

ruser:pwd123

othername:123456          //远程用户验证需要的用户名和密码

2)修改rsync的配置文件,对同步的目录进行设置

[root@redhat6 ~]# vim /etc/rsyncd.conf

gid=nobody

use chroot=yes

log file=/var/log/rsyncd.log

pid file=/var/run/rsyncd.pin

[tools]

path=/usr/src   //同步的目录

comment=Rsync Share Test

read only=yes

dont compress=*.gz *.bz2 *.tgz *.zip

auth users=ruser             //添加本行就需要ruser用户认证,注释这两行表示匿名同步

secrets file=/etc/rsyncd_users.db    //指明验证的文件

[root@redhat6 ~]# yum -y install xinetd

[root@redhat6 ~]# chkconfig rsync on   //rsync服务是临时服务

[root@redhat6 ~]# service xinetd start

[root@redhat6 ~]# chkconfig xinetd on

在远程机上进行验证

 

查看服务器同步的共享名

[root@redhat5 /]# rsync 192.168.4.2::

tools              RsyncShare Test

[root@redhat5 /]# rsync rsync://192.168.4.2

tools              RsyncShare Test

 

查看共享名的内容列表

[root@redhat5 /]# rsyncruser@192.168.4.2::tools

Password:   //输入共享用户名的密码

[root@redhat5 /]# rsyncrsync://ruser@192.168.4.2/tools

Password:

 

远程同步

[root@redhat5 /]# rm -rf /test/*

[root@redhat5 /]# rsync -azrsync://ruser@192.168.4.2/tools/ /test

Password:

[root@redhat5 /]# ls /test/

debug kernels

 

#########################################################

 

二:rsync 实时同步(inotify监控及触发)

1.安装 inotify-tools 软件包

[root@redhat6 ~]# tar zxfinotify-tools-3.13.tar.gz

[root@redhat6 ~]# cd inotify-tools-3.13

[root@redhat6 inotify-tools-3.13]#./configure

.. ..

[root@redhat6 ~]# make  && make  install

2. inotifywait 工具的触发验证

    以监控 /opt 目录为例,当 /opt 目录下的文档有变动时,会立即给出相应提示

[root@redhat6 ~]# inotifywait  -mrq -e modify,move,create,delete,attrib /opt

.. ..

/opt/ CREATE,ISDIR tdir1

/opt/ CREATE file1.txt

/opt/ MODIFY file1.txt

/opt/ DELETE file1.txt

 

.. ..

3. 基于 inotifywait while循环 实现触发同步

 

[root@redhat6 ~]# inotifywait  -mrq -e modify,move,create,delete,attrib /opt  \

 |  while  read X  Y  Z ;  do  rsync /opt  /opt2  ;  done

.. ..                                                        //对源目录做一些更改操作

 

[root@redhat6 ~]# ls  /opt2/

.. ..                                                        //查看实时同步结果

 

#########################################################

 

三:NTP时间同步服务

 

1. 调整 ntpd 服务配置,启动服务

[root@redhat6 ~]# vim /etc/ntp.conf

restrict 192.168.4.0 mask 255.255.255.0nomodify notrap

//允许此网段将本服务器作为NTP服务器

server 127.127.1.0  //将本机作为NTP服务器

[root@redhat6 ~]# service ntpd restart

[root@redhat6 ~]# date

2014 08 26 星期二 03:04:37 CST

2. 在客户机测试时间同步

[root@redhat5 /]# date

2007 12 12 星期三 12:12:03 GMT

[root@redhat5 /]# ntpdate 192.168.4.2

[root@redhat5 /]# date

2014 08 25 星期一 19:05:51 GMT

3.NTP服务器地址添加到ntp.conf配置文件中自动同步

[root@redhat5 /]# vim /etc/ntp.conf

server 192.168.4.2

[root@redhat5 /]# service ntpd restart

4.本地时间同步

[root@redhat5 /]# hwclock   //本地硬件时钟

20140825 星期一 190829  -0.686272 seconds

[root@redhat5 /]# date 121212122007

2007 12 12 星期三 12:12:00 GMT

[root@redhat5 /]# hwclock --hctosys  //硬件时钟同步到系统时钟

[root@redhat5 /]# date

2014 08 25 星期一 19:10:06 GMT

[root@redhat5 /]# hwclock --systohc   //系统时钟同步到硬件时钟

[root@redhat5 /]# hwclock

 


rsync远程同步

标签:rsync   远程同步   

原文地址:http://fengzhankui.blog.51cto.com/6755977/1545912

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!