一、rsync工具介绍
rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync。rsync是Linux系统下的文件同步和数据传输工具,它采用“rsync”算法,可以将一个客户机和远程文件服务器之间的文件同步,也可以在本地系统中将数据从一个分区备份到另一个分区上。如果rsync在备份过程中出现了数据传输中断,恢复后可以继续传输不一致的部分。rsync可以执行完整备份或增量备份。它的主要特点有:
1.可以镜像保存整个目录树和文件系统;
2.可以很容易做到保持原来文件的权限、时间、软硬链接;无须特殊权限即可安装;
3.可以增量同步数据,文件传输效率高,因而同步时间短;
4.可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接;
5.支持匿名传输,以方便进行网站镜象等;
6.加密传输数据,保证了数据的安全性;
rsync -av /etc/passwd /tmp/0.txt
rsync -av /tmp/0.txt 192.168.1.101:/tmp/1.txt
格式:
rsync [OPTION] ... SRC(源目录) DEST(目标目录)
rsync [OPTION] ... SRC [user@]host:DEST
rsync [OPTION] ... [user@]host:SRC DEST
rsync [OPTION] ... SRC [user@]host::DEST两个冒号
rsync [OPTION] ... [user@]host::SRC DEST
安装rsync
同步目录
同步直接跟ip
二、rsync常用选项
-a 包含-rtplgoD
-r 同步目录时要加上,类似于cp时的-r选项
-v 同步时显示一些具体信息,看到同步过程
-l 保留软连接
-L 加上选项后,同步软连接时会把源文件同步
-p 小p保持文件的权属性
-o保持文件的属主
-g保持文件的属组
-D保持设备文件信息
-t保持文件的时间属性
--delte 删除DEST(目标目录)中SRC(源目录)没有的文件
--exclude 过滤指定文件,如--exclude “logs” 会吧文件名包含logs的文件或者目录过滤,不同步
-P大P 显示同步过程,比如速率,-v更加详细
-u update加上后,如果DEST中文件比SRC新,则不同步
-z 传输时压缩
示例:把/tmp/0.txt 同步到/root/ceshi.txt下
后边加入/
三、rsync通过ssh同步
rsync -av test1/ 192.168.1.106:/tmp/test2/
reync -av -e "ssh -p 22" test1/192.168.1.106:/tmp/test2/
rsync通过服务的方式同步
要编辑配置文件/etc.rsyncd.conf
启动服务rsync --daemon
格式:rsync -av test1/192.168.1.101::module/dir/
两个虚拟机之间同步
第一虚拟机同步root下test1到第二虚拟机/tmp/test2,需要保证两个虚拟机都有rsync工具,且目录必须创建
第二虚拟机
rsyncd.conf样例
port=873
log file=/var/log/rsync.log
pid file=/var/run/rsyncd.pid
address=192.168.1.101
[test]
path=/root/rsync
use chroot=true
max connections=4
read only=no
list=true
uid=root
gid=root
auth users=test
secrets file=/etc/rsyncd.passwd
hosts allow=192.168.1.106 1.1.1.1 2.2.2.2 192.168.133.0/24