rsync+NTP


rsync远程同步服务
inotify-tools实现实时同步
NTP网络时间服务

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

练习一:rsync客户端 <==> sshd 服务器

1. rsync 同步的基本操作

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

    rsync常用选项
-a:归档模式,相当于-rlptgoD
-v:显示同步过程详细信息
-z:传输过程中启用压缩
-H:保留硬连接文件
-A:保留文件的ACL属性信息
--delete:删除目标有而源没有的文件
--checksum:根据校验和来决定是否要同步


2. rsync + sshd 服务器的 上传、下载

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


1)将远程主机的 /boot/ 目录备份到本地
[root@svr5 ~]# mkdir  /fromssh
[root@svr5 ~]# rsync  -az  [email protected]:/boot/  /fromssh/
[email protected]‘s password:          //验证口令

2)将本地的 /etc 目录备份到远程主机
[root@svr5 ~]# rsync  -az  /etc  [email protected]:/opt/
[email protected]'s password:              //验证口令




练习二:rsync客户端 <==> rsync 服务器

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

1. 发布 rsync  --daemon 共享

1)建立同步账号文件(匿名则不需要)
[root@svr6 ~]# vim  /etc/rsyncd_users.db
ruser:pwd123              //每行一条用户记录
othername:123456
……
[root@svr6 ~]# chmod  600  /etc/rsyncd_users.db      //严格权限,否则同步会失败

2)建立 /etc/rsyncd.conf 共享设置
[root@svr6 ~]# vim  /etc/rsyncd.conf
.. ..
[tools]
    path = /usr/src
    comment = Rsync Share Test
    read only = yes
    dont compress = *.gz *.bz2 *.tgz *.zip
    auth users = ruser              //允许谁访问
    secrets file = /etc/rsyncd_users.db          //指定账号文件的路径

3)启用 rsync  --daemon 服务
[root@svr6 ~]# yum  -y  install  xinetd
[root@svr6 ~]# chkconfig  rsync  on
[root@svr6 ~]# chkconfig  xinetd  on
[root@svr6 ~]# service  xinetd  restart


2. rsync + rsync 服务器的 上传、下载
[root@svr5 ~]# rsync  [email protected]::tools      //浏览共享
Password:                  //验证口令
drwxr-xr-x        4096 2009/10/01 22:58:39 debug
drwxr-xr-x        4096 2009/10/01 22:58:39 kernels
.. ..
[root@svr5 ~]# mkdir  /root/mysrc
[root@svr5 ~]# rsync  -avz  --delete [email protected]::tools  /root/mysrc/                          //下行同步,删除多余文件

练习三:网站目录镜像同步
    svr5  《==》 pc205

1. 在svr5上配置rsync共享
    1)共享的文件夹路径:/var/www/html/
    2)共享名为webroot
    3)许可的用户名是wuser,密码Taren1
2. 在pc205上执行同步
    1)本地目标文件夹:/var/www/html/
    2)每2小时自动同步一次

服务器svr5上:
[root@svr5 ~]#vim  /etc/rsyncd.conf    
secrets file = /etc/rsync.udb
[webroot]
    path = /var/www/html
    comment = Test Web Directory.
    auth users = wuser
[root@svr5 ~]# vim  /etc/rsync.udb
wuser:Taren1
[root@svr5 ~]# chmod  600  /etc/rsync.udb

客户机pc205上:
[root@pc205 ~]# vim  /root/pwd.txt
Taren1
[root@pc205 ~]# chmod  600  /root/pwd.txt
[root@pc205 ~]# crontab -e
0 */2 * * * rsync --password-file=/root/pwd.txt --delete -az [email protected]::webroot/  /var/www/html/


练习四:rsync 实时同步(inotify监控及触发)

1. 安装 inotify-tools 软件包
[root@svr5 ~]# tar zxf inotify-tools-3.13.tar.gz
[root@svr5 ~]# cd inotify-tools-3.13
[root@svr5 inotify-tools-3.13]# ./configure
.. ..
[root@svr5 ~]# make  &&  make  install

2. inotifywait 工具的触发验证
    以监控 /opt 目录为例,当 /opt 目录下的文档有变动时,会立即给出相应提示

[root@svr5 ~]# 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@svr5 ~]# inotifywait  -mrq  -e  modify,move,create,delete,attrib  /opt  \
  |  while  read  X  Y  Z  ;  do  rsync  -az  --delete  /opt/  /opt2  ;  done
.. ..                      //对源目录做一些更改操作
[root@svr5 ~]# ls  /opt2/
.. ..                      //查看实时同步结果


练习五:网站目录镜像实时同步(补充)
    svr5 /var/www/html  《==》 pc205  /var/www/html

1. 在svr5上安装inotify-tools工具
2. 创建SSH密钥对(无密码),并部署到pc205上
[root@svr5 ~]# ssh-keygen  -t  rsa
[root@svr5 ~]# ssh-copy-id  -i  /root/.ssh/id_rsa.pub  [email protected]

3. 在svr5上启用rsync+inotify同步
[root@svr5 ~]# inotifywait  -mrq  -e  modify,move,create,delete,attrib /var/www/html/  |   rsync   -az --delete  /var/www/html/  [email protected]:/var/www/html



练习六:NTP时间同步服务

1. 调整 ntpd 服务配置,启动服务
[root@svr5 ~]# vim  /etc/ntp.conf
restrict default kod nomodify notrap nopeer noquery
restrict 192.168.4.0 mask 255.255.255.0 nomodify notrap     //仅允许指定的网段访问
.. ..
server  127.127.1.0              //以本机硬件时钟作为源

[root@svr5 ~]# service  ntpd  restart      //启动 ntpd 服务(监听 UDP 123端口)
[root@svr5 ~]# chkconfig  ntpd  on

2. 在客户机测试时间同步
[root@svr6 ~]# date  -s  '2001-09-11 12:00'        //设置一个错误的系统时间
2001年 09月 11日 星期二 12:00:02 CST

[root@svr6 ~]# ntpdate  192.168.4.5          //测试NTP同步
 4 Sep 15:39:55 ntpdate[15732]: step time server 192.168.4.5 offset 21483522.484714 sec

[root@svr6 ~]# date              //查看时间(与NTP服务器端保持一致)
2013年 09月 04日 星期三 15:40:00 CST

3. 配置NTP客户机  
[root@svr6 ~]# vim  /etc/ntp.conf
.. ..
server  192.168.4.5              //将本机作为192.168.4.5的客户端

[root@svr6 ~]# service  ntpd  restart  ;  chkconfig  ntpd  on


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

你可能感兴趣的:(ntp,rsync, )