不同服务器之间 实现某个文件夹内容同步(使用rsync)

第一步:先准备2台服务器(虚拟机即可)

虚拟机1 :IP为 192.168.1.160 (主服务器,也可以称服务端)
虚拟机2:IP为 192.168.1.161(副服务器,也可以称客户端)

第二步:分别在两台服务器中安装async

yum install rsync

第三步:先进入虚拟机1

1.先修改配置 vim /etc/rsyncd.conf,大致配置如下
uid = root
gid = root
port = 873
use chroot = no
max connections = 200
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log
timeout = 900
[rsync] 
    path = /home/wwwroot/test  需要被同步的文件夹
    comment = ftp export area
	ignore errors
	read only = false
	list = no
	auth users = root 
	secrets file = /etc/rsyncd.passwd
2.创建认证密码文件
touch /etc/rsyncd.passwd
vim /etc/rsyncd.passwd
写入 root:123456  
root代表是当前用户
3.修改权限 chmod 600 /etc/rsyncd.passwd
4.因为rsync默认会监听873端口,所以需要开放873端口,这里不详细说明。
5.启动服务 /usr/bin/rsync --daemon

第四步-进入虚拟机2

1.创建认证密码文件
touch /etc/rsyncd.passwd
echo "123456" >> /etc/rsyncd.passwd   #将之前设置的密码加入进去,为了不用输入密码
2.修改权限 chmod 600 /etc/rsyncd.passwd
touch /etc/rsyncd.conf
3.启动服务 /usr/bin/rsync --daemon

第五步-开始同步

1.先在虚拟机1 /home/wwwroot/test 随便创建一个文件
[root@bogon test]# touch change.php
[root@bogon test]# ls
change.php
2.再去虚拟机2 输入以下命令
rsync -avz rsync://[email protected]/rsync/ /home/wwwroot/test 
--password-file=/etc/rsyncd.passwd

拆分说明
1. rsync -avz rsync:// 为固定写法
2. [email protected] 为所要同步的服务器用户名和ip
3. /rsync/ 为虚拟机1 /etc/rsyncd.conf 中的配置 [rsync] ,保持一致即可
4. /home/wwwroot/test 为所要同步的文件夹名称
5. --password-file=/etc/rsyncd.passwd 加载密码文件

第六步-查询结果

输入命令之后
[root@bogon test]# rsync -avz rsync://[email protected]/rsync/ /home/wwwroot/test --password-file=/etc/rsyncd.passwd
receiving incremental file list
./
change.php  为刚刚新增的文件

sent 51 bytes  received 159 bytes  420.00 bytes/sec
total size is 0  speedup is 0.00
[root@bogon test]# ls
change.php
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章