一、rsync同步工具介绍与使用
rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。 rsync是一个功能非常强大的工具,其命令也有很多功能特色选项。
命令语法格式(6种):
rsync [OPTION]... SRC DEST
rsync [OPTION]... SRC [[email protected]]host:DEST
rsync [OPTION]... [[email protected]]HOST:SRC DEST
rsync [OPTION]... [[email protected]]HOST::SRC DEST
rsync [OPTION]... SRC [[email protected]]HOST::DEST
rsync [OPTION]... rsync://[[email protected]]HOST[:PORT]/SRC [DEST]
语法格式说明:
1、拷贝本地文件。当SRC和DES路径信息都不包含有单个冒号":"分隔符时就启动这种工作模式。如:
rsync -a /etc/passwd /tmp/passwd_bak
2、使用一个远程shell程序(如rsh、ssh)来实现将本地机器的内容拷贝到远程机器。当DST路径地址包含单个冒号":"分隔符时启动该模式。如:rsync -av /etc/passwd 192.168.204.129:/tmp/passwd_bak
3、使用一个远程shell程序(如rsh、ssh)来实现将远程机器的内容拷贝到本地机器。当SRC地址路径包含单个冒号":"分隔符时启动该模式。如:rsync -av 192.168.204.129:/tmp/passwd_bak /etc/passwd
4、从远程rsync服务器中拷贝文件到本地机。当SRC路径信息包含"::"分隔符时启动该模式。如:rsync -av [email protected]::/tmp/test.txt /etc/
5、从本地机器拷贝文件到远程rsync服务器中。当DST路径信息包含"::"分隔符时启动该模式。如:rsync -av /etc/passwd [email protected]::/tmp/passwd_bak
6、列远程机的文件列表。这类似于rsync传输,不过只要在命令中省略掉本地机信息即可。如:rsync -v rsync://192.168.78.192/www
常用选项:
-a :包含-rtplgoD,a选项后面可以跟
--no-OPTION
这个表示关闭-rlptgoD
中的某一个例如-a--no-l
等同于-rptgoD
-r :同步目录时要加上,类似cp时的-r选项
-v :同步时显示-些信息,让我们知道同步的过程
-l :保留软连接
-L :加上该选项后,同步软连接时会把源文件给同步
-p :保持文件的权限属性
-o :保持文件的属主
-g :保持文件的属组
-D :保持设备文件信息
-t :保持文件的时间属性
--delete :删除DEST中SRC没有的文件
--exclude :过滤指定文件,如--exclude “logs”会把文件名含logs的文件或者目录过滤掉,不同步
-P :显示同步过程,比如速率,比-v更加详细
-u :加上该选项后,如果DEST中的文件比SRC新,则不同步
-z :传输时压缩
更多选项可以man以下,也可参考:http://man.linuxde.net/rsync
实例(常用选项):
在完成实例之前,先做好准备工作准备,建立实验所需要的文件目录等。
1、使用-a选项:
-a和--no-OPTION一起使用:
使用-v选项看来就是方便,上例告诉我们跳过了非普通文件123.txt,其实123.txt是一个软连接文件,如果不使用-l选项则不理会软连接文件的。虽然加上-l选项会把软连接文件给拷贝过去,但是软连接的目标文件却没有拷贝过去,有时候咱们指向拷贝软连接文件所指向的目标文件,那这时候该怎么办呢?
2、使用-L选项:
加上 -L 选项就可以把SRC中软连接的目标文件给拷贝到DEST。
3、使用--delete选项:
test333/目录并没有删除掉123.txt, 加上--delete
选项之后就删除了。
二、rsync应用实例
1、通过ssh方式
这种方式其实就是让用户去登录到远程机器,然后执行rsync的任务。
这个把本机的文件目录复制并重命名到192.168.204.129
机器上,远程机器需要安装rsync工具,安装命令yum install -y rsync
。在远程机上查看是否接收到了:
原文地址:http://blog.51cto.com/3069201/2066955