命令用法
-
- [选项...] 源目录 目标目录
同步与复制的差异
rsync操作选项
-
- :测试同步过程,不做实际修改
-
- -delete:删除目标文件夹内多余的文档
-
- :归档模式,相当于-rlptgoD
-
- :显示详细操作信息
-
- :保持acl策略不变
本地同步
]# rsync -avX /mydir /todir #同步目录本身
]# ls /todir
]# rsync -avX /mydir/ /todir #同步目录内容
]# ls /todir
]# touch /mydir/2.txt
]# rsync -avX /mydir/ /todir #同步目录内容
]# echo 123 > /mydir/1.txt
]# rsync -avX /mydir/ /todir #同步目录内容
]# mkdir /mydir /todir
]# echo haha > /mydir/h.txt
]# rsync -avX --delete /mydir/ /todir #同步目录的内容
]# ls /mydir/
]# ls /todir/
]# touch /todir/a.txt
]# ls /todir/
]# rsync -avX --delete /mydir/ /todir
]# ls /todir/
]# ls /mydir/
远程同步(rsync+ssh)
与远程的 SSH目录保持同步
下行:rsync [...] user@host:远程目录 本地目录
上行:rsync [...] 本地目录 user@host:远程目录
虚拟机A的/mydir目录的内容与虚拟机B的/mnt进行同步
虚拟机A:
]# rsync -avX --delete /mydir/ root@192.168.88.2:/mnt
……..connecting (yes/no)? yes
root@192.168.88.2's password: #输入密码
虚拟机B:
]# ls /mnt
- 实时数据同步
虚拟机A的/mydir/目录的内容与虚拟机B的/mnt进行同步
实现ssh无密码验证(公钥与私钥)
[root@server ~]# ssh-keygen #一路回车
[root@server ~]# ls /root/.ssh/
id_rsa(私钥) id_rsa.pub(公钥) known_hosts(记录曾经远程管理过的机器)
2.虚拟机A将公钥传递给虚拟机B
]# ssh-copy-id root@192.168.88.2
]# rsync -avX --delete /mydir/ root@192.168.88.2:/mnt